贪心
Codiplay
这个作者很懒,什么都没留下…
展开
-
NOIP2015跳石头【二分答案(最小值最大化) | 贪心】
如果长度 Len 可以满足,那么当长度小于 Len 时也可以满足,所以我们可以二分出最大的 Len。为了提高比赛难度,组委会计划移走一些岩石,使得选手们在比赛过程中的最短跳跃距离尽可能长。由于预算限制,组委会至多从起点和终点之间移走 MM 块岩石(不能移走起点和终点的岩石)。首先验证答案具有单调性:拿走的石头越多,最短跳跃距离越大,这就叫答案的单调性。在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,直至到达终点。在起点和终点之间,有 NN 块岩石(不含起点和终点的岩石)。原创 2022-09-08 21:35:48 · 310 阅读 · 0 评论 -
小度养小猫【贪心】
注意到每次可能多出来的就是 j + 1这个位置的元素,就维护一个堆(其实就是维护一堆数),每次决策取一个最大的c。可以用set实现,set最大值的堆顶是rbegin(),最小值的为begin()原创 2022-09-06 19:32:11 · 223 阅读 · 0 评论 -
Problem D. 送快递 【最短路 | 反悔贪心(堆维护)】
例如,若在第 3 天,某个未被派送快 递的截止日期为 3,当天派送它则可以成功送达,但如果同时有两个截止日期为 3 的未被派送的快递, 那么 Flash 只能选择一个进行派送,另外一个必定超时。qu.size() >= d[i].t是因为如果t=4,那么你最多选出来最大值的个数就只能是四个,因为截止日期就是4,只有所有小于等于4的能被维护,一天送一个一共送4天。这其实和上面的解法一个思路。首先小根堆顶是最小值,每次拿堆顶和当前的值比较,如果不满足条件pop,所以我们最终留在队列里的是较大值,所以用小根堆。原创 2022-09-02 08:58:00 · 156 阅读 · 0 评论 -
1007 Climb Stairs (贪心 | C思维)
c原创 2022-08-03 16:49:48 · 123 阅读 · 0 评论