
贪心
sumi
无冥冥之志者无昭昭之明 无惛惛之事者无赫赫之功!
有问题欢迎大家联系我,扣扣2513822561
展开
-
1.2Mixing Milk
很水的贪心 /* ID:wconvey PROG:milk LANG:C++ */ #include #include using namespace std; struct node{ int p,a; }array[5100]; int cmp(const void *x,const void *y) { if(((struct nod原创 2012-01-15 15:39:30 · 355 阅读 · 0 评论 -
贪心总结
经典贪心题: 1)旅行家的预算 2)节点网络 3)求最大得分 4)删数问题 5)取数游戏 6)独木舟 7)最大整数 8)Radar 转换模型—〉贪心求解 先算出每个岛在哪个区间范围内建立雷达站能够覆盖到这个岛,按左端点快排。第一个雷达建立在区间的右端,而后一次判断每个区间的左端点,如果在最新建立的雷达右面,那么肯定需要一个雷达,而转载 2012-08-08 20:44:09 · 996 阅读 · 0 评论 -
hdu 2037 今年暑假不AC(贪心)
题目分析:先将事情的起始时间和截止时间排序,把相互排斥的事情划到一个集合里。样例: 0 1 2 ; 3 3; 4 5 6 8; 10; 15 15 7 3 9 ; 4 8; 14 10 12 18; 15; 19 20 ^原创 2012-05-16 17:21:50 · 559 阅读 · 0 评论 -
poj3863 Business Center 贪心
题目分析:设上升次数w为x ,则x*u-(n-x)*d>=0 解得:x>=n*d/(u+d);当能够整除时:在最终停在u+d,不过能够时停在 (n*d/(u+d)+1)*(u+d)-n*d; #include #include #include using namespace std; int main() { int n,m; while(scanf("%d %d",&n,&m)原创 2012-05-30 07:49:14 · 1072 阅读 · 1 评论 -
hdu 3177 Crixalis's Equipment(贪心)
题目分析:这个如何贪心,很难想!!!有忍不住参照别人的思想了!!!!! 但是我感觉我下面的哪个WA一直的思想也对不知道为啥过不了!!! 思想:如果是两件的话: a1 , b1和a2 ,b2.... 瞬时所占体积的最大值为,a1+b2 或者 b1+a2,肯定选择较小的哪个来放... 在推广的n个 /*****贪心***/ #include #include #include using原创 2012-05-08 10:53:32 · 787 阅读 · 0 评论 -
hdu 1789 Doing Homework again(贪心)
题目:fwj 牛,给我讲的,贪心过。我还以为是DP,想了很长时间啊... 贪心:先按要扣的分数,从大到小排序,要扣的分数想同,按截止日期,从大到小排序;在开一个数组a[ i]代表第i 天是否被占用,如果被占用,赋值为1;然后从做导游扫描一遍,如果a[arr[i].t]==0,则进行下一轮扫描,如没有时间安排给arr[i].w,则ans+=arr[i].w... #include原创 2012-04-22 15:08:02 · 526 阅读 · 0 评论 -
hdu 1052 Tian Ji -- The Horse Racing(很好的贪心)
题目分析: 这题的题意就是求怎么让田忌赢最多,可以赢负的。 算法是先将两个都排序,然后按1、田忌的快马比齐王的快,直接比掉。2、若快马没有快,拿田忌最慢的和齐王最慢的比较,若快直接比掉。3、若慢马比齐王慢,就拿田忌最慢的和齐王最快的比较。 按这个算法就可以啦!不过有一组很好的测试数据。 4 1 2 4 5 2 3 3 4 注意:1.很好的贪心题原创 2012-05-07 22:26:46 · 1727 阅读 · 1 评论 -
hdu 4221Greedy?
//在C++,用long long 竟然WA了,用__int64才能过,why? //很水的贪心, 题目:有n个任务,每个任务有一个花费时间Ci,和截止时间Di,如果超过截止时间完成就要相应的处罚,为T-Di, T为任务Di的完成时间,求最小的最大的处罚, #include #include #include using namespace std; struct node {原创 2012-04-15 20:40:10 · 796 阅读 · 0 评论 -
poj3636 Nested Dolls
分析:偏序关系。如果采用poj1065的方法超时,所以用一个数组D[2100],吧每个偏序链的末端 保存起来,不断更新。 #include #include #include using namespace std; struct node{ int w,h; }doll[21000],D[2100]; int cmp(node x,node y) { if(x.w!=原创 2012-03-14 13:21:00 · 799 阅读 · 0 评论 -
poj 1065Wooden Sticks (简单的贪心)
#include #include #include using namespace std; struct node{ int l,w; bool flag; }a[5100]; /*int cmp(node x,node y) { if(x.l!=y.l) return x.l-y.l; else if(x.l==y.l) return x.w-y.w; e原创 2012-03-13 22:05:37 · 428 阅读 · 0 评论 -
1328 poj Radar Installation
/*思路一:先考虑y=d的情况,吧涉及到的点标记,然后再从左到右扫描,让尽可能多的点在一个圆内 ,复杂度O(n^2) **********有错误呀,昨晚检查了一晚上还没检查出开呀******!!!! ,据说渣哥去年都AC了,膜拜呀,要被他鄙视了*/ #include #include #include #include using nam原创 2012-03-02 16:31:15 · 466 阅读 · 0 评论 -
poj2586 Y2K Accounting Bug
坑爹的题目呀 ,死活读不懂!!!参照别人的解说,才搞明白 题意,一个公司,每个月要么亏损d,要么盈利s,每年连续五个月统计一次,每年统计8次,某年因为事故数据丢失,只知道统计的8次都是亏损,但是不知道几月亏损,亏损多少。给你s和d,如果年终盈利,求盈利的最大数,如果亏损,输出Deficit。 分析:分5中情况讨论:(5-i)*s-i*d i=1: SSSSDSSSSDSS a原创 2012-02-29 12:54:17 · 410 阅读 · 0 评论 -
九度oj 1504:把数组排成最小的数 (贪心)
输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 输入: 输入可能包含多个测试样例。 对于每个测试案例,输入的第一行为一个整数m (1 输入的第二行包括m个正整数,其中每个正整数不超过10000000(10^7)。 注意这几组测试数据:原创 2013-06-27 00:12:52 · 939 阅读 · 0 评论