![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
差分
FrostMonarch
这个作者很懒,什么都没留下…
展开
-
atcoder Silver Fox vs Monster (贪心 一维差分)
题目大意: 现在有n个怪物,第i个怪物有血量Hi,现在我们可以使用AOE攻击,使得放AOE的中心范围内2*X长度的怪物血量减少A. 问我们最少需要多少次AOE攻击。 AOE攻击示例: 解题思路: 首先,我们想到做一些预处理,包括把每个怪物的血量理解为需要多少次攻击,然后让这些怪物按照坐标从小到大排序。这时候我们就可以贪心了,已知要处理的怪物位置为pos,而且血量大于0,那么让这只怪物承...原创 2020-01-28 13:54:46 · 520 阅读 · 0 评论 -
洛谷 p3078 (差分,贪心)
题目大意: 每次可以对区间[l,r]减1,问我们最少经过多少次操作可以把数列an全变为0. 解题思路: 一开始想用二分加线段树,发现线段树不会写。丢人 其实我们只用考虑相邻元素之间的差就可以了,因为假如本个元素比上一个小,那么其实这个元素要减的话,上一个元素已经帮你减掉了。假如本个元素比较大,对答案的贡献就是a[i]-a[i-1] #include <bits/stdc++....原创 2019-12-24 19:59:41 · 672 阅读 · 0 评论 -
洛谷 P1083 借教室(二分+差分)
题目大意: 有数列An,每次我们可以选择一个区间做减法,问我们第几次操作会导致一个区间出现负数。 n<=1e6 解题思路:线段树是可以做的,但是貌似这题卡了线段树。这里使用二分枚举答案的方法。为什么这里适合用差分呢?因为这里满足false false ... true ... false的结构。每次枚举到一个点时,我们对指定线段做差分然后用前缀和恢复,最后做到复杂度O(nlogn) 其...原创 2019-12-16 20:23:44 · 184 阅读 · 0 评论