1642: [Usaco2007 Nov]Milking Time 挤奶时间
2014-12-14 22:06
281 查看
1642: [Usaco2007 Nov]Milking Time 挤奶时间
Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 582 Solved: 331
[Submit][Status]
Description
贝茜是一只非常努力工作的奶牛,她总是专注于提高自己的产量。为了产更多的奶,她预计好了接下来的N (1 ≤ N ≤ 1,000,000)个小时,标记为0..N-1。 Farmer John 计划好了 M (1 ≤ M ≤ 1,000) 个可以挤奶的时间段。每个时间段有一个开始时间(0 ≤ 开始时间 ≤ N), 和一个结束时间 (开始时间 < 结束时间 ≤ N), 和一个产量 (1 ≤ 产量 ≤ 1,000,000) 表示可以从贝茜挤奶的数量。Farmer John 从分别从开始时间挤奶,到结束时间为止。每次挤奶必须使用整个时间段。 但即使是贝茜也有她的产量限制。每次挤奶以后,她必须休息 R (1 ≤ R ≤ N) 个小时才能下次挤奶。给定Farmer John 计划的时间段,请你算出在 N 个小时内,最大的挤奶的量。Input
第1行三个整数N,M,R.接下来M行,每行三个整数Si,Ei,Pi.Output
最大产奶量.Sample Input
12 4 21 2 8
10 12 19
3 6 24
7 10 31
Sample Output
43HINT
注意:结束时间不挤奶Source
题解:好逗啊,弄来弄去原来是快排写错了TT,害得我WA了N次。。。别的嘛,按照开始时间排序后,然后DP之。。。var i,j,k,l,m,n,ans,r:longint; a:array[0..2000,1..3] of longint; f:array[0..2000] of longint; procedure swap(var x,y:longint); var z:longint; begin z:=x;x:=y;y:=z; end; function max(x,y:longint):longint; begin if x>y then max:=x else max:=y; end; procedure sort(l,r:longint); var i,j,x,y:longint; begin i:=l; j:=r; x:=a[(l+r) div 2,1]; repeat while a[i,1]<x do inc(i); while a[j,1]>x do dec(j); if i<=j then begin swap(a[i,1],a[j,1]); swap(a[i,2],a[j,2]); swap(a[i,3],a[j,3]); inc(i);dec(j); end; until i>j; if l<j then sort(l,j); if i<r then sort(i,r); end; begin readln(n,m,r); for i:=1 to m do begin readln(a[i,1],a[i,2],a[i,3]); a[i,2]:=a[i,2]+r; end; sort(1,m); for i:=1 to m do begin f[i]:=a[i,3]; for j:=1 to m-1 do begin if a[i,1]>=a[j,2] then f[i]:=max(f[i],f[j]+a[i,3]); end; ans:=max(ans,f[i]); end; writeln(ans); end.
相关文章推荐
- bzoj1642[Usaco2007 Nov]Milking Time 挤奶时间
- BZOJ 1642: [Usaco2007 Nov]Milking Time 挤奶时间
- BZOJ 1642: [Usaco2007 Nov]Milking Time 挤奶时间( dp )
- 【动态规划】bzoj1642 [Usaco2007 Nov]Milking Time 挤奶时间
- 【BZOJ 1642】 [Usaco2007 Nov]Milking Time 挤奶时间
- BZOJ 1642: [Usaco2007 Nov]Milking Time 挤奶时间
- bzoj 1642: [Usaco2007 Nov]Milking Time 挤奶时间(DP)
- 【BZOJ】1642: [Usaco2007 Nov]Milking Time 挤奶时间(dp)
- 1642: [Usaco2007 Nov]Milking Time 挤奶时间 (动态规划)
- bzoj1642 [Usaco2007 Nov]Milking Time 挤奶时间
- bzoj 1642: [Usaco2007 Nov]Milking Time 挤奶时间【dp】
- bzoj1642 [Usaco2007 Nov]Milking Time 挤奶时间
- BZOJ 1642 [Usaco2007 Nov]Milking Time 挤奶时间 排序+DP
- BZOJ 1642: [Usaco2007 Nov]Milking Time 挤奶时间
- [BZOJ1642] [Usaco2007 Nov]Milking Time 挤奶时间
- 【BZOJ 1642】 [Usaco2007 Nov]Milking Time 挤奶时间
- 1642: [Usaco2007 Nov]Milking Time 挤奶时间
- BZOJ1642: [Usaco2007 Nov]Milking Time 挤奶时间
- BZOJ 1642: [Usaco2007 Nov]Milking Time 挤奶时间
- Usaco2007 Nov 【Milking Time 】挤奶时间