
贪心
文章平均质量分 58
贪心思维
Brokenrivers
这个作者很懒,什么都没留下…
展开
-
前缀和差分练习
而差分标记的本质是给左端点之后的所有数加上一个标记,再给右端点之后的数减去一个标记。那么我们查看这个点是否被标记,只需要看这个点之前的正标记数是否大于负标记数,如果正标记多,说明这个点被标记了。本题应从区间上每个元素出发,因为一个元素就是一个buff,必须少一个buff才能符合要求,每次会给一个区间的buff加上积分。所以我们可以将标记的区间存下来,并且升序排序,然后每次询问的时候二分查找正负标记数,判断是否相抵消。还有一种方法是将有交集的区间合并,根据右端点排序,然后二分查找这个点是否在被标记区间内。..原创 2022-08-14 03:50:48 · 173 阅读 · 0 评论 -
区间合并模板
给定 nn 个区间 [li,ri],要求合并所有有交集的区间。例如:[1,3] 和[2,6] 可以合并为一个区间[1,6]。共一行,包含一个整数,表示合并区间完成后的区间个数。接下来 n 行,每行包含两个整数 ll和 r。注意如果在端点处相交,也算有交集。输出合并完成后的区间个数。第一行包含整数 n。...原创 2022-08-14 03:31:01 · 76 阅读 · 0 评论 -
P3669 [USACO17OPEN]Paired Up S 贪心+双指针
最短时间也就是m/2对中的最长时间,贪心很好想,肯定是时间最短的牛和时间最长的牛匹配才会使最长时间最短。这题比较有意思的是配对的双指针操作。如果直接给出每个牛的时间,直接排序,然后正反相加取最值即可。但是这题对时间进行分组,而且数据量很大,展开也会超时。所以这里的双指针设定一个头尾指针,直接判断这个时间的牛的数量然后相减可以剩下大量时间,而不能一个一个的匹配。...原创 2022-07-18 20:48:11 · 335 阅读 · 0 评论 -
P6174 [USACO16JAN]Angry Cows S 二分+贪心
我们要判断是否能覆盖所有稻草,那么肯定判断对炸弹范围利用最大化时能否覆盖。而这里可以使用贪心,先对稻草位置从小到大排序。把炸弹范围看作一个长度为2*R的线段,就变成了线段覆盖问题,每个线段要利用率最大化,那么左边界必定对齐一个稻草,然后以这个左端点为起点像后延申2*R的长度,记录可以覆盖几个稻草。如果计算期间使用的炸弹超过了k就跳出计算,并且判断此时被炸的稻草数是否为n,如果是,说明可以炸完,反之则不行。这题的困难就变成了R,判断是否可以炸掉所有稻草。首先看题目和数据,很容易想到先二分枚举答案。......原创 2022-07-17 14:41:02 · 153 阅读 · 0 评论 -
优先队列练习 优先队列/贪心
牛客竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ 目录 一.常规优先队列 1001[NOIP2004]合并果子 1008Cut 二.贪心/优先队列维护 1003第k小维护优先队列* 1004tokitsukaze and Soldier* 1005[JSOI2007]建筑抢修贪心** 一.常规优先队列 1001 [NOIP2004]合并果子 比较基本的优先队列,因为是随机合并,很容易想到每次都合并最...原创 2022-05-16 16:28:26 · 411 阅读 · 0 评论 -
5.29 训练周记 /贪心
上周刚打完比赛,加上这周还有考试,没怎么缓过神来,这周学了点方便的c++新特性,然后就基本是摸了..... 回到贪心算法,这周的任务是学习贪心。我认为,贪心与其说是一个算法,不如说是一种思维。由局部最优解推出全局最优的一种思维。 与其有相似感觉的就是动态规划,贪心是取得每个小问题的最优解然后汇总成完整问题的最优解,动态规划则是取得相互关联的子问题的最优解然后不断递推得到整个问题的最优解。 贪心的题难度跨度很大,简单的用常识看一眼就解决了,难的则怎么也想不出思路。 其次,贪心其实是需要证明的,不是看出原创 2022-05-30 20:37:45 · 130 阅读 · 0 评论 -
CF1659B Bit Flipping 思维/贪心/模拟
CF1659B Bit Flipping - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 初见没啥想法,先找找规律。注意到操作,选中一个元素其他元素反转,设选中的元素操作了m次,总操作数为k,那么当前元素被反转的次数即为k-m。当被反转的次数为偶数的时候不改变元素的值,反转的次数为奇数的时候元素被改变。首先要使字典序最大,就尽量使前面的元素为1.且又因为操作数要尽量小才能多分出一些操作数给后面的元素使他们更可能变为1. 由这个贪心策略,所以从头往前遍历序列。如果k为奇数,那么遇到1原创 2022-05-16 23:45:27 · 226 阅读 · 0 评论