ACM_贪心
隐形的稻草人哦
这个作者很懒,什么都没留下…
展开
-
POJ 3190 Stall Reservation(优先队列优化&&贪心)
POJ 3190 贪心题Preface话说为啥POJ的主角是一头牛呢? 高中的时候就有一个万能的小木块,能在水平或者的倾斜的桌面、传送带上滑来滑去,然后就是求各种的力,摩擦力,重力。。。。 现在可好,又遇见一只万能的牛(牛叫.mp3),能吃苹果,能挤奶,能做数学题,能玩小游戏,还TMD能给主人打扫房间。记得有一道题中说,这头牛还要盖摩天大楼,还要上天。。。 这头牛,快要被出题人玩坏了。分析咳原创 2016-08-19 13:43:26 · 416 阅读 · 0 评论 -
POJ 2393 Yogurt Factory(贪心 ?? dp)
Yogurt factory Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9380 Accepted: 4768 Description The cows have purchased a yogurt factory that makes world-famous Yucky Yo原创 2016-08-19 15:31:56 · 302 阅读 · 0 评论 -
hdu 5813 Elegant Construction(贪心)
Problem Description Being an ACMer requires knowledge in many fields, because problems in this contest may use physics, biology, and even musicology as background. And now in this problem, you are b原创 2016-08-10 12:04:09 · 332 阅读 · 0 评论 -
poj 3614 Sunscreen(priority_queue && Greedy)
Sunscreen Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7371 Accepted: 2602 Description To avoid unsightly burns while tanning, each of the C (1 ≤ C ≤ 2500) cows m原创 2016-08-24 10:51:01 · 247 阅读 · 0 评论 -
UVA 1153 Keep the Customer Satisfied(贪心2.0)
题意给出每个工作的耗费时间(q)和截止日期(d),一个时间只能完成一个工作,问:最多可以完成几个工作。分析贪心的想法先按照 截止日期进行排序。 如果 t时间内完成了 k 个任务,那么如何去完成 k+1个任务呢? 如果 c[k+1].q + t <= c[k+1].很好加入任务中, 否则 如果 任务列表中存在比c[k+1].q 还要耗时的,就 两者交换,这样 t 的值就减小了。这里可以反证一下,原创 2016-10-01 17:24:59 · 291 阅读 · 0 评论 -
UVA 11491 Erasing and Winning(贪心)
题意给出n个数字,消去d个数字,使得剩下的数字最大。分析我一开始 就是用 优先队列来进行模拟,直到消去d个数字、看一下,大神的写法,道理相同,但 代码量 呵呵了。写糙的方法:#include <bits/stdc++.h>using namespace std;const int maxn = 1e5 + 10;int n, d, s;struct aa{ int val;原创 2016-10-01 22:05:31 · 294 阅读 · 0 评论 -
UVA 1616 Caravan Robbers(二分+贪心)
题意给定n个区间的左右端点l,r,找出最大区间不想交长度。n < 1e5 , l <= r < 1e6;分析感觉是用二分,一直纠结如何在二分中实现分数的产生。贪心的策略就是尽量分割出来的区间靠向左,为后面的留出更多的空间。 看了看 大神的,原来可以先二分出小数,再将小数转化为分数。。。 不过为毛 分母的范围是 1~n,还是不太懂啊 (懊恼.jpg)代码#include <bits/stdc++.原创 2016-10-02 21:23:27 · 484 阅读 · 0 评论 -
UVA 1614 Hell On The Market(贪心&&结论)
题意给出n个数字a[i], 并且 1 <= a[i] <= i,通过每一项乘以1或-1,使得所有数字的乘积和为0;分析题意化简:从数组中找出若干个数,使他们的和为所有数和的一半。想了n种超时的算法,毫无头绪。 肯定得用上 1 <= a[i] <= i; 这一个条件。 只是不知从何下手。原来有个结论: 在前i个数中,能够组成1~sum[i] 任意一个数。证明过程其实对程序没有影响,结论只是为了证明原创 2016-10-02 22:58:33 · 438 阅读 · 0 评论 -
CF Contest Balloons
传送门题意给定几个队伍,获得的气球数和最大的可承受气球数。当气球数大于最大可承受值是,不参与排名。自己的队伍可以给任何队伍不超过自己气球数的气球,使他们不参与排名。 求自己最好的名次,分析很显然,是贪心的想法 但是实现上,有点犯难了。贪心的策略是这样的,先把比自己队伍气球多并且最容易使其失败的队伍开始。一直在想,可不可以直接一次排序达成。这样就必须考虑气球数和差值。用一个函数来拟合。。。。发现想骗原创 2016-11-01 21:07:22 · 399 阅读 · 0 评论