
贪心
文章平均质量分 72
Matrix1254
爱代码,爱加班,爱咖啡可乐
爱挑战,爱钻研,爱打游戏
爱晚起,也爱工作到深夜。
我擅长技术,崇尚简单和懒惰
我神秘而孤僻,沉默而爱憎分明
我行我素,我是程序员
展开
-
hdu 1009 FatMouse' Trade
很简单的贪心,先按性价比排序,依次加上能afford的bean,直到room遍历完或者cat food用完了。。若只是cat food用完了,room还没遍历完,则加上剩下的cat food所能换取的bean。AC代码:#include#include#include#define MAX_LEANGTH 1005struct Room{ int bean; i原创 2012-12-07 21:08:05 · 556 阅读 · 0 评论 -
hdu 1050 moving tables
实质就是求最大重叠度,难点是奇数房和偶数房是对应的,如1和2是对应的,3和4是对应的,共用一段走廊,要这样处理:(i+1)/2。如3到4,4到5,重叠度是2。陷阱是区间可能从大到小。AC代码:#includeusing namespace std;#define NUM 405int a[NUM];int main(){ int cases,n,s,t,iMax,i,j;原创 2013-02-05 12:39:29 · 410 阅读 · 0 评论 -
hdu 1789 Doing Homework again
想了半天没想出来,后来参考了别人的思路。先按reduced从大到小排,对于每个homework,若它的deadline日期上无homework,就安排它,若已有homework,就往前推,直到找到一个日期安排。若实在找不到,就加到sum。最后输出sum即可。AC代码:#includeusing namespace std;#define NUM 1005 struct hw原创 2013-02-05 13:03:07 · 450 阅读 · 0 评论 -
hdu 2037 今年暑假不AC
题目实质是求一定区间内最多事件序列,采用贪心,提出假设:至少有一个最多事件序列包含最早结束的事件,可以用反证法证明,若a1....an是一个最多事件序列,则a0...an也是一个最多事件序列(a0是最早结束的事件)。所以贪心策略为:每次都选择最早结束的事件。具体方法是,按结束时刻排序,每次找不冲突的最早的开始事件。 AC代码:#includeusing namespace std;原创 2013-02-05 13:15:45 · 444 阅读 · 0 评论 -
hdu 1052 Tian Ji -- The Horse Racing
贪心思路:田忌要用最小的代价(最慢的马)输一场比赛,而要耗费掉齐王最大的资源;齐王用最大的代价赢田忌,以最大的代价输田忌。先把田忌和国王的马排序。每次取田忌的最快的马与国王最快的马比较,有三种情况。一,田忌最快的马比国王最快的快,那么直接拿田忌最快的马去赢国王最快的马。二,田忌最快的马比国王最快的慢,那么拿田忌最慢的马去输国王最快的马。三,田忌最快的马与国王最快的马速度一样。原创 2013-02-05 13:46:15 · 953 阅读 · 0 评论 -
hdu 1051 Wooden Sticks
对木棍的长度和重量进行排序,以长度为首要考虑。排序完后的不一定都是下一根木棍重量和长度都大于前一根的。于是,我们对排序后的数组进行多次扫描,将可以在一次建立时间内完成的进行标记,设置一个外部变量number来计数已扫描的元素的数量。例子:54 9 5 2 2 1 3 5 1 4排序完后:1 4 2 1 3 5 4 9 5 2然后进行第一次扫描:使用mar原创 2013-02-06 10:33:19 · 585 阅读 · 0 评论 -
hdu 1007 Quoit Design
题目是要求最近点对的距离,采用简单贪心:按x+y来排序,再一次遍历,求出相邻点对的最小距离。用G++一直TLE,实在是无语,看了discuss,有人说要用C++提交,结果用C++就直接AC了。另一位大牛用的暴力搜索,时间居然比我贪心还少,难以理解。AC代码:#include#include#include#include#includeusing namespace std;#原创 2013-02-07 10:28:22 · 517 阅读 · 0 评论 -
pat 1033 To Fill or Not to Fill(值得重点回顾)
有点难度的贪心题,贪心策略有点绕,得静下心来分析,同时得增强自己的代码能力。实质是汽车加油问题。贪心策略:假设现在自己处于A站,要考虑的是A站要不要加油,加多少油的问题。找到下一个要加油的站B(距离A站cmax*davg范围内的最便宜的站)。1. A站油价比B价高,现在油箱里还有油,能跑到B站,那就不加油,直接跑去(这里B站跟2,3情况不同,是距离A站currGas*davg范围内的最便宜原创 2013-03-06 10:10:06 · 2468 阅读 · 1 评论