HDU 4221 贪心
2018-02-22 15:38
141 查看
HDU 4221 Greedy?题意:有作业每个作业有耗时和死线,超过死线完成的要扣除完成日期和死线的差,单线写作业,且作业不可拆分,求出最小的最大扣除。题解:贪心,先随便安排一个顺序,这里对于两个相邻的作业,交换这两个作业的顺序,对于这个顺序的其他部分没有任何影响,那么这两个作业的两种顺序,显然是先做截止日期早的更优因为将截止日期早的从后面换到前面,永远不会增加扣分,所以将所有两两交换优化之后实际上就是按截止日期冒泡排序。
#include <iostream> #include<cstdio> #include<algorithm> using namespace std; struct node{ int p,d; }a[100005]; int cmp(node a,node b){ return a.d<b.d; } int main() { int T,n,i,icase=0; long long day,sum; scanf("%d",&T); while(T--){ icase++; scanf("%d",&n); for(i=0;i<n;i++)scanf("%d%d",&a[i].p,&a[i].d); sort(a,a+n,cmp); sum=0;day=0; for(i=0;i<n;i++){ day+=a[i].p; if(day-a[i].d>sum)sum=day-a[i].d; } printf("Case %d: %lld\n",icase,sum); } return 0; }
相关文章推荐
- Greedy? HDU - 4221 (贪心)
- Greedy? HDU - 4221 (贪心)
- HDU 4221 Greedy?(贪心)
- Greedy? HDU - 4221 (贪心)
- HDU 4221 Greedy?(贪心)
- Greedy? HDU - 4221 (贪心)
- HDU 4221 Greedy?(贪心啊啊)
- Greedy? HDU - 4221 (贪心)
- 贪心--HDU - 4221 Greedy?
- Greedy? HDU - 4221 (贪心)
- HDU 4221 Greedy?(贪心)
- Greedy? HDU - 4221 (贪心)
- hdu 4221 贪心
- Greedy? HDU - 4221 (贪心)
- HDU 4221 Greedy?(贪心)
- HDU-4221 Greedy? 贪心 从元素的相对位置开始考虑
- 贪心(Elegant Construction,HDU 5813)
- hdu 5777 domino 贪心
- [HDU 4825] Xor Sum(01字典树+贪心)
- hdu 3661 Assignments【贪心】