【DP】饥饿的牛
来源:互联网 发布:中国域名管理机构 编辑:程序博客网 时间:2024/06/09 23:38
饥饿的牛
源程序名 HUNGER.??? (PAS,C,CPP)
可执行文件名 HUNGER.EXE
输入文件名 HUNGER.IN
输出文件名 HUNGER.OUT
牛在饲料槽前排好了队。饲料槽依次用1到N(1<=N<=2000)编号。每天晚上,一头幸运的牛根据约翰的规则,吃其中一些槽里的饲料。
约翰提供B个区间的清单。一个区间是一对整数start-end,1<=start<=end<=N,表示一些连续的饲料槽,比如1-3,7-8,3-4等等。牛可以任意选择区间,但是牛选择的区间不能有重叠。
当然,牛希望自己能够吃得越多越好。给出一些区间,帮助这只牛找一些区间,使它能吃到最多的东西。
在上面的例子中,1-3和3-4是重叠的;聪明的牛选择{1-3,7-8},这样可以吃到5个槽里的东西。
输入
第一行,整数B(1<=B<=1000)
第2到B+1行,每行两个整数,表示一个区间,较小的端点在前面。
输出
仅一个整数,表示最多能吃到多少个槽里的食物。
样例
HUNGER.IN
3
1 3
7 8
3 4
HUNGER.OUT
5
=================================
=====================================
type node=record s,e:longint; end;var b:longint; a:array[1..2000]of node; f:array[0..2000]of longint;procedure init;begin assign(input,'hunger.in'); assign(output,'hunger.out'); reset(input); rewrite(output);end;procedure terminate;begin close(input); close(output); halt;end;procedure qsort(s,t:longint);var i,j:longint; x:node; tem:node;begin i:=s; j:=t; x:=a[(s+t)shr 1]; repeat while x.e<a[j].e do dec(j); while a[i].e<x.e do inc(i); if i<=j then begin tem:=a[i]; a[i]:=a[j]; a[j]:=tem; inc(i); dec(j); end; until i>j; if i<t then qsort(i,t); if s<j then qsort(s,j);end;function max(a,b:longint):longint;begin if a>b then exit(a); exit(b);end;procedure main;var i,j:longint; ans:longint;begin readln(b); for i:=1 to b do readln(a[i].s,a[i].e); qsort(1,b); fillchar(f,sizeof(f),0); ans:=0; for i:=1 to b do for j:=a[i].s-1 downto 0 do begin f[a[i].e]:=max(f[a[i].e],f[j]+(a[i].e-a[i].s+1)); if ans<f[a[i].e] then ans:=f[a[i].e]; end; writeln(ans);end;begin init; main; terminate;end.
- 【DP】饥饿的牛
- SSL2298 饥饿的牛(dp)
- WUST 1904 饥饿的牛(dp)
- 饥饿的牛 解题报告
- WUST 1906 演讲大厅安排,饥饿的牛(dp+线段覆盖经典)
- 饥饿的狗
- 饥饿的狗
- 饥饿的码农
- 饥饿的程序员
- 饥饿的苏丹
- 饥饿的小易
- 饥饿的WZK
- P1868 饥饿的奶牛
- 饥饿的小易
- 饥饿的奶牛
- P1868 饥饿的奶牛
- 饥饿
- 饥饿之耻的联想
- Flex Tree 之 TreeItemRenderer
- oracle游标的使用
- Use ContentProvider Get Contacts
- 感动那件小事!
- 如何修改FLASH动画
- 【DP】饥饿的牛
- Ext树级联选中父节点和子节点
- PowerPoint2007不能输入中文的问题
- poj 1018
- JAVA STOP方法的不安全性
- zigbee协议与开发-NWK层作用解析
- Putty中文乱码解决方法
- svn防止提交错误文件的方法
- web 测试要点