![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
差分
ljq真的不能再吃了
珍惜每一天
展开
-
【P1083 借教室】 差分数组 + 二分答案
P1083题意就是n天 每天有r[i]个教室可用 问你有m个申请 必须按顺序来 从Q[i].l 到 Q[i].r 要用Q[i].d个教室如果都能满足 输出0 如果有按顺序哪个不能满足输出不能满足我们首先发现答案继续单调性 那么可以二分二分的时候check数组如何满足检验呢?其实就是差分数组加一下 前缀和求每天的实际使用教室值和最大教室判断一下check即可check函数为此bool ...原创 2019-04-04 01:00:26 · 172 阅读 · 0 评论 -
【P3128】最大流 Max-flow 树上差分之点差
P3128题解 因为是点差 所以 s−−>ts -- > ts−−>t的路径都加一等价于cnt[s]++,cnt[t]++,cnt[LCA]–,cnt[fa[Lca]]–;所以我们只要用两个dfs处理出来 然后统计一下cnt的最大值即可/* if you can't see the repay Why not just work step ...原创 2019-04-04 12:01:47 · 177 阅读 · 0 评论 -
【P3258 松鼠的家】 树上差分 - 点差分
P3258其实和上一道P3218 有点像的但是我们处理的时候要知道 除了arr[1]这个点 他下面所有的点再访问是不会吃糖的 比如你到了2 从2开始 实际上只有一颗糖 所以我们要从 2 - n cnt[arr[i]]–;代码如下/* if you can't see the repay Why not just work step by step rubbish i...原创 2019-04-04 12:37:31 · 176 阅读 · 0 评论 -
【P1438 无聊的序列】 差分/硬核线段树 区间加等差数列
P1438题意 给一个区间加一个 首相为k 公差为d 的等差序列求单点值先建一颗差分线段树 如果我们给某一个区间 l 到 r 加上一个首相为k 公差为d 的等差序列是不是相当于 给 l 这个点的差分数组 加上 kl+1 到 r 的这段数组 加上dr+1 这个点差分数组加上 -(k+(r-l+1-1)*d)然后再利用差分数组的前缀和恰好等于这个点的值 我们就可以直接query 加上原数...原创 2019-04-11 00:13:01 · 920 阅读 · 0 评论 -
【BZOJ 5028 小Z的加油店】 裴蜀定理
BZOJ 5028题目给你这一段瓶子能倒出来的最小水 其实不就是ax + by + cz +… km的最小整数解么用裴蜀定理可知这个解就是他们的区间gcd那么答案就转换成区间gcd 和 区间更新线段树如果要维护这些东西 肯定是要超时的那么我们怎么做呢?我们知道 gcd(x,y) = gcd(x,y-x)gcd(x,y,z) = gcd(x,gcd(y,z))那么x->y的区...原创 2019-04-09 22:55:51 · 129 阅读 · 0 评论