![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
贪心
文章平均质量分 71
zyjhtutu
这个作者很懒,什么都没留下…
展开
-
poj 3262
b#include #include #include using namespace std; #define M 100050 struct ff { int t, p; }; long long sumt,sum; int cmp(ff a, ff b) { return 1.0*a.p/a.t>1.0*b.p/b.t; } ff f[M]; int main() { in翻译 2014-05-30 23:12:49 · 811 阅读 · 0 评论 -
557C Arthur and Table
题意:题目给出的桌子的n条长度不一的腿,以及打断每条腿所需的花费。要求在最小的花费下,使桌子达到平衡。平衡的条件是最大腿的个数要大于总的腿数的一半。 思路:这道题刚开始往dp上考虑,结果怎么搞,都找不出最有子结构,导致状态无法定义,最后放弃dp。想着试一试枚举平衡时最大腿的长度,然后各种数组记录。本来以为会TLE,最后过了46ms。具体实现见代码。 #include #include #inc原创 2015-07-21 10:34:10 · 440 阅读 · 0 评论 -
558C Amr and Chemistry
题意:给出一组数据,让你对其进行整除、扩大2倍两个操作将这组数变换成相同的数。所用的步骤最少,并求出这个最少的步骤。 思路:这个题目我也想了好久,之间还贡献了几次WA,思路是这样的,基本上就是贪心,这之前要明白一点就是:如果两个数之间没有2^n倍的关系,那么这两个数不管怎么扩大,都不可能到达一个相同的数。于是基于这样,可以判断出最终到达的这个数肯定小于或等于这个数组中最大的数。而我们可以预先求出原创 2015-07-21 10:51:15 · 373 阅读 · 0 评论 -
codeforces 732E. Sockets
题目的题意就不多说了,这个题我做的时候想了很久。写完代码之后,提交也是一直WA17。一直在考虑是不是自己的想法有问题。后来看了别人的代码。发现其实,解决问题的思想是一样的。我的想法是将枚举每个插座要接的转换器的数量,然后依次判断每个电脑是不是正好可以连接上。但是我是用二分来实现查找的,因为涉及到会有相同的电量的插座,查找的时候家了一些小技巧,让它每次找到的都是第一个没有被使用的插座。但是可能实现上原创 2016-10-20 12:30:28 · 550 阅读 · 0 评论 -
codeforces 725D Contest Balloons
题句题意很容易理解:Limak可以把自己获得的气球送给别人,使别人的气球大于体重。从而让别人漂浮的天花板上,不能参与排名,从而使Limak自己的排名上升。这个题目是一个典型的贪心,当Limak把自己的气球给别人的时候,他自己的手中的气球就会减少,那么他自己的排名也是有可能降低的。那么,我们就需要思考,Limak应该把气球给什么样的人,他自己的排名才有可能上升。其实,很简单,他肯定是把气球给当前排名原创 2016-11-12 21:04:47 · 397 阅读 · 0 评论 -
codeforces 747D Winter Is Coming
这个题目比赛的时候想了好久,也没有做出来,当时想是个dp或者贪心,想着贪心的题目,dp应该也能做,所以就一直在dp上想,但是没有解决办法。今天有空就看了看这个题目。codeforces给的标签是贪心,自己就往贪心上想了想,最后解决了。其实用贪心的话并不难想,先判断是否可以度过整个冬天,这个比较简单就不再多说了。假设每次遇到0下的天气都需要换成冬天用的轮胎,而用完这一天之后就换成夏天用的轮胎,这样的原创 2016-12-21 09:58:40 · 540 阅读 · 0 评论 -
codeforces 754D. Fedor and coupons
题意比较简单,给定n个区间,选择其中k个区间,并且这k个区间的重叠最大。这个题目当时也是想了很久没有想出来。后来看了题解,觉得这是一个典型的问题,有一般的解题思路。一般的解题思路为,将区间按照左端点从小到大的排序,然后利用优先队列,将排序后的区间的右端点依次进入队列(右端点小的在队首),保持队列中只有k个区间的右端点。用队列的队首减除刚入队区间的左端点,得到的便是队列中k个区间的重叠部分,依次更新原创 2017-02-25 08:40:16 · 394 阅读 · 0 评论