贪心
~VEGETABLEBIRD~
这个作者很懒,什么都没留下…
展开
-
洛谷——P1016 旅行家的预算
原题链接 这是一道比较简单的贪心题目。这个题的解法如下: 如果把起点定为第0个加油站,终点定为第n+1个加油站。 从第0个点开始,驱车至能到达的最远的那个加油站,在第0个点把油加满。这其中会遇到三种情况: 1.中间有一个比出发点油价更便宜的加油站。 2.中间的油价都比出发点高。 3.不能到达下一个加油站。 很容易知道,第三种情况下是不能够到达的。如果是第一种情况,只需要在初始点加油至能够到达那个加油站即可,把剩余的油卖出(相当于加油时没有加满),然后加满低价油。如果是第二种情况,则需要在这里所有经过的的加油原创 2020-09-20 23:33:35 · 104 阅读 · 0 评论 -
洛谷——P1109 学生分组
原题链接 这是一道比较贪心的题目。 -1的情况就不必多说,关键是如果可以分成要求的组如何计算出最少的交换次数。 不妨把这个移动分为两种:第一种是小于L需要补,第二种则是大于R需要移走,这两种移动都是必要的。如果两种情况所移动的人数分别为a,b,那么为了满足条件,必然会移动max(a,b)个人。而a,b保证了都是必要移动,所以同时也就是最小移动。 #include<iostream> #include<cstring> #include<algorithm> #includ原创 2020-08-14 10:46:30 · 316 阅读 · 0 评论 -
洛谷——P1031 均分纸牌
原题链接 这个题可以理解为贪心。思路是每一堆多的牌全部移到下一堆,少的牌全部由下一堆提供。这样可能会出现下一堆的牌不够,移动之后为负数的情况。不过这并不影响最优解,因为下一堆可由后面的堆提供。 #include<iostream> #include<cstring> #include<algorithm> #include<cmath> using namespace std; const int N = 110; int a[N]; int s, n, a原创 2020-08-05 16:52:17 · 76 阅读 · 0 评论 -
洛谷——P1095 守望者的逃离
原题链接 这个题实际上并不是很难,就是有点咋呼… 首先必须明确的一点是,能闪现就闪现,闪现肯定比跑步跑得快。(话说魔法师体质应该不咋滴的,怎么都超过世界纪录了…)这样就和贪心挂上钩了。 但是闪现耗蓝,需要跑步作为辅助,所以我们要在闪现过程中时不时跑两下。当然,这个人很烦人,还能回蓝。这就有点棘手,因为不知道对于一个时间点,到底是该休息,还是该跑步(能闪现就闪现)。 这样两头一块考虑肯定是一团乱麻,...原创 2020-04-11 11:56:48 · 150 阅读 · 0 评论