
差分
文章平均质量分 66
差分技巧
小衣同学
No Saturday , no Sunday , no holiday .
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
AtCoder Beginner Contest 150 F. Xor Shift (异或性质+扩展kmp)
将s1扩展成原来的2倍之后(s1=s1+s1),与s2做扩展kmp即可。你可以自行选择一个k(0原创 2024-04-12 04:51:17 · 403 阅读 · 0 评论 -
Educational Codeforces Round 146 (Rated for Div. 2) D. Balancing Weapons(差分+基础数论)
只有x-f[j]>0(减去一个f[j]后可能会导致d为0,=0就不合法了)且x-f[j]>=l,才是需要考虑x-f[j]的。有n(2<=n<=3e3)把枪,第i把枪有两个参数fi和di(1<=fi<=2e3,1<=di<=1e9)区间是从[pi,pi+k]逐步往下枚举的,最终枚举到[pi-k,pi],考虑区间的并,长度为2k。也就是正好可以落在[pi-k,pi+k]内的数,记为tmp,n-tmp就是需要修改的数的个数。对于n个长为k的区间,暴力统计是O(n*n*k)的,用差分干掉一个n,做到O(n*k)原创 2023-09-15 11:18:52 · 117 阅读 · 0 评论 -
Codeforces Round 890 (Div. 2) E2. PermuTree (hard version) (主席树/树状数组/差分+前缀和)
主席树需要维护lson、rson、num三个变量,num从0变1表示新增,其余非新增,每个空间1e6*20大概2e7,三个6e7,倍增也需要开1e6*20=2e7,3. 回滚时,维护一个数组记录一下操作的点号的序列,退到前一个。2. 查询时,就全局查询数的种类数,实际只需要用到根节点。,询问当前数组内的不同的数的个数(即数的种类数)1. 加数时,按照询问动态开点,在主席树上建一条链。当主席树上建一条新链的时候,在进入叶子结点前,jjleo代码/jiangly代码/官方题解。原创 2023-08-21 01:50:43 · 300 阅读 · 0 评论 -
AtCoder Beginner Contest 260 G.Scalene Triangle Area(花式二维差分/二维线段树)
AtCoder Beginner Contest 260 G.Scalene Triangle Area(斜向二维差分+二维前缀和/二维线段树)原创 2022-11-27 16:52:04 · 593 阅读 · 0 评论 -
AtCoder Regular Contest 136 C.Circular Addition(差分/环上区间减1使所有数为0的最小操作数)
AtCoder Regular Contest 136 C.Circular Addition(差分/环上区间减1使所有数为0的最小操作数)原创 2022-11-22 00:31:11 · 378 阅读 · 0 评论 -
Codeforces Round #770 (Div. 2) F. Fibonacci Additions(构造+差分)
题目长为n(n<=3e5)的序列a、b,模数mod(1<=mod<=1e9+7)两个序列有初值,0<=ai,bi<modq(q<=3e5)次操作,每次给一个a或b的区间加上一个斐波那契数列,此处,fib[1]=fib[2]=1%mod,fib[i]=(fib[i-1]+fib[i-2])%modA l r,对a[l]加fib[1]%mod,...,对a[r]加fib[r-l+1]%modB l r,对b[l]加fib[1]%mod,...,对b[r原创 2022-02-13 23:15:35 · 509 阅读 · 0 评论 -
2020 ICPC·小米邀请赛 决赛热身赛 C.Rikka with Prefix Sum(前缀和/差分/组合数)
题目t<=3组样例,每组对于长度n(n<=1e5)的序列a[],m(m<=1e5)次操作,操作分三种a[]序列初始全部为01 l r w 对于[l,r]区间的值+w(0<=w=1e9)2 对序列a[]做一遍前缀和得到sum[],然后a[]=sum[],即对每个i来说,a[i]=sum[i]3 l r 询问当前ai区间[l,r]的和,答案模998244353,保证3操作数不超过500题解晚上回宾馆之后,被自为风月马前卒大佬口胡了一下,发现会了考虑2搞出的原创 2020-11-29 19:27:54 · 314 阅读 · 0 评论 -
Codeforces Round #590 (Div. 3) E(暴力/差分)+F(状压dp)
思路来源https://www.cnblogs.com/carcar/p/11618099.htmlhttps://blog.csdn.net/BeNoble_/article/details/101985236https://codeforces.com/blog/entry/70233E. Special Permutations(暴力/差分)对于长度为n(n<=2e...原创 2019-10-04 20:40:50 · 395 阅读 · 0 评论 -
Codeforces Round #121 (Div. 1) C - Fools and Roads(树上差分/边差分)
题目n(n<=1e5)个点的树,k(k<=1e5)条树上路径覆盖,问每条边被覆盖了多少次思路来源涛神题解边给远端节点,边差分裸题,注意统计时,把答案统计到边号上,所以,在加边的时候,要记录边号代码#include<bits/stdc++.h> using namespace std;typedef long long ll;t...原创 2019-09-07 22:21:14 · 227 阅读 · 0 评论 -
BZOJ3631 松鼠的新家(树上差分/点差分)
题目n(n<=3e5)个点的一棵树,给出a1到an,从a1走到a2,再从a2走到a3,从a3走到a4,...,从an-1走到an要求,走的路径上每走一个点放一个糖果,最后an不放,问每个点放了多少糖果思路来源https://www.luogu.org/problemnew/solution/P3258题解裸的树上点差分,a1走到a2,就把这一条路径+1即可...原创 2019-09-07 21:57:33 · 185 阅读 · 0 评论 -
牛客练习赛48 B.小w的a=b问题(差分+数论)
题目一个a[]数组,长度为n,第i个元素ai,另一个是b[]数组,长度为m,第j个元素bj。先对每个元素求阶乘,再对数组求乘积,问两个数组最终所得结果是否相等1<=n,m<=1e5;0<=ai,bj<=1e5;T<=200;n,m总和不超过2e6思路来源https://ac.nowcoder.com/acm/contest/923/B题解...原创 2019-06-28 13:04:32 · 401 阅读 · 0 评论 -
poj3263 Tallest Cow(线段树区间修改+单点查询/差分)
题目N(N<=1e4)个奶牛,下标为I的奶牛的高度最高,为H(H<=1e6)R(R<=1e4)个陈述,每次叙述A和B,代表A能看到B等价于A和B之间的奶牛高度都比A小,且A的高度不大于BR个陈述后,给出每个奶牛的最高身高思路来源http://www.mamicode.com/info-detail-2429327.html题解这个就好比一个水槽,...原创 2019-05-01 16:48:33 · 228 阅读 · 0 评论 -
牛客小白月赛12 H-华华和月月种树(dfs序+差分树状数组)
题目思路来源官方题解https://ac.nowcoder.com/discuss/160376?type=101&order=0&pos=5&page=1思路来源https://ac.nowcoder.com/acm/contest/view-submission?submissionId=40398427题解官方题解先离线...原创 2019-03-12 00:06:38 · 406 阅读 · 2 评论 -
ContestHunter4302 Interval GCD(差分+线段树+gcd性质)
题目长度为n(n<=5e5)的数组a[],m(m<=2e5)次操作,操作分两种①对[l,r]区间加d ②询问[l,r]区间的gcd题目保证ai在任何操作之后都为不超过的正整数思路来源https://blog.csdn.net/forever_dreams/article/details/85222870题解注意到gcd(x,y,z)==gcd(x,y-x...原创 2019-06-13 21:28:06 · 427 阅读 · 0 评论 -
牛客练习赛48 C.小w的糖果(差分)
题目n(n<=1e5)个人,m(m<=1e5)种操作,操作分三种,①[pos,n]从左到右第i个点+1②[pos,n]从左到右第i个点+i③[pos,n]从左到右第i个点+i的平方询问,所有操作完之后,每个点的值思路来源https://ac.nowcoder.com/acm/contest/view-submission?submissionId=407...原创 2019-06-28 20:04:29 · 428 阅读 · 0 评论 -
Codeforces Round #501 (Div. 3) E2 - Stars Drawing (Hard Edition)(差分)
题目n*m(n,m<=1e3)的矩阵,由*和.组成从中挑出不超过n*m个star(star被定义为全为*的十字架,上下左右伸出的部分需要等长)*可以被多个star公用,如果所有*都能被star覆盖,输出挑选方案否则输出-1思路来源涛神题解先预处理左条、右条、上条、下条的最大长度,分四个方向dp这里记录的是不包括中心点的长度,所以需要相邻两个都为*十...原创 2019-07-06 14:12:21 · 217 阅读 · 0 评论 -
牛客练习赛49 D.筱玛爱线段树(差分)
题目给定一个长度为n(n<=1e5)的数组A,刚开始每一项的值均为0。支持以下两种操作,操作共m(m<=1e5)次:1 l r:将Al∼Ar的每一项的值加上1。2 l r:执行操作编号在[l,r]内的所有操作各一次,保证r小于当前操作的编号。m次操作结束后,你要告诉马爷A数组变成什么样子了。由于答案可能会很大,你只需要输出数组A中的每个数在模1e9+7意义下的值...原创 2019-07-06 11:44:13 · 318 阅读 · 0 评论