
差分
zxyoi_dreamer
退役了退役了爬了爬了,搞个锤子算法竞赛,不如好好享受大学生活。
展开
-
2018.09.25【洛谷P4551】最长异或路径(树上差分)(01TRIE)
传送门解析:听说POJ的题数据有问题。。。也确实是有问题。。。我看ACACAC了的代码全部都有判环?于是果断弃掉POJ的题。思路:树上差分。因为xorxorxor运算具有自反性。我们可以将f(u,v)f(u,v)f(u,v)转化为f(root,u) xor f(root,v)f(root,u)\text{ }xor\text{ }f(root,v)f(root...原创 2018-09-25 13:56:51 · 243 阅读 · 0 评论 -
【CF19E】Fairy(DFS树)(树上差分)
传送门题解:二分图也就是说没有奇环。考虑构造任意一棵DFS树。显然这棵树本身就是一个二分图。考虑所有只有一条非树边的环。如果这些环中不存在奇环,则这张图不存在任何奇环,所有边删除都是二分图。如果存在奇环,则显然能够删除的边首先必须是所有奇环的交。考虑一个非树边,如果只有一个奇环,则这个奇环对应的非树边可以选择,剩下的非树边都不行。如果有多个奇环,则任何非树边删除之后仍然不是二分图。...原创 2019-10-05 18:39:31 · 251 阅读 · 0 评论 -
【BZOJ4771】七彩树(可持久化线段树)(树上差分)
传送门题解:首先考虑如果没有距离限制,显然可以考虑树上差分。讲相同颜色的点拿出来,按dfs序排序,每个点的位置+1,相邻两点LCA处-1。询问就是子树标记之和。但是现在需要考虑深度,我们把点先按照深度为第一关键字,dfs序为第二关键字排个序。然后从深度浅的逐渐加点,每个线段树从上一个继承所有标记,然后加入新店,按照dfs维护一下差分标记。注意到我们需要动态维护当前已经加点的dfs序...原创 2019-09-09 13:13:18 · 268 阅读 · 0 评论 -
【题目泛做】雅礼集训:attack(容斥)(单调栈)(差分)
题解:首先考虑一个简单容斥:对于一个一维上区间,显然它的大小为1的子区间个数永远是大小为2的子区间个数+1。拓展到二维上,显然一个矩阵的2∗22*22∗2的子矩阵个数+1∗1+1*1+1∗1子矩阵−2∗1-2*1−2∗1子矩阵−1∗2-1*2−1∗2子矩阵。所以考虑对于所有2*2以内的小矩阵统计答案。显然对于一个矩阵,答案为包含它的全111矩阵的个数的kkk次方。我们需要对于一个小...原创 2019-09-05 10:09:18 · 243 阅读 · 0 评论 -
【ZJOI2017】【LOJ2570】【洛谷P5210】【BZOJ4876】线段树(树上差分(雾)
LOJ传送门洛谷传送门BZOJ传送门题解:代码:#include<bits/stdc++.h>#define ll long long#define re register#define gc get_char#define cs constnamespace IO{ inline char get_char(){ static cs int Rlen=...原创 2019-06-19 19:07:25 · 231 阅读 · 0 评论 -
【51nod1600】Simple KMP(SAM)(LCT)(差分)
传送门解析:想法是算出每次新加一个字符的贡献增量,也就是差分数组。我们发现每次新加入一个字符,会产生lenlenlen个新的后缀,lenlenlen是加入前字符串的长度。而在这些新的后缀的子串中,不是后缀的所有串的贡献其实就是之前作为过后缀的所有串的贡献,所以我们只需要算增量的差分数组,也就是二阶差分数组。所以我们需要考虑每一个后缀在之前的所有位置出现了多少次。显然我们直接提取最后插...原创 2019-04-04 09:18:29 · 229 阅读 · 0 评论 -
2018.11.05【NOIP2015】【洛谷2680】【UOJ#150】运输计划(二分答案+DFS序+树上差分)或(复杂度并不对(也不能过)的树链剖分)
洛谷传送门UOJ传送门解析:UOJ上的数据很强,复杂度不对过不了的,但是LCALCALCA如果是用倍增求的话也过不了(已经加了上界优化)。。。毕竟树剖常数小,复杂度还不满。。。思路:首先,不要试图化边为点,每条边的信息可以存在它所指向的儿子中。解法1:UOJ上不能过的树链剖分其实我们只需要考虑断掉哪些边就行了,显然断掉最长路径上以外的边是没有作用的,所以我们只需要考虑枚举断掉最长路...原创 2018-11-05 21:45:47 · 238 阅读 · 0 评论 -
2018.11.09【NOIP2016】【洛谷P1600】天天爱跑步(树上差分)
传送门解析:据说这是NOIP历年最难一道题。。但是真的没有宝藏难啊我觉得。。。思路:答案分两类统计,一种是子树中过来,一种是其他地方过来。那么路径就被拆分成两部分了,一部分是S−&gt;lcaS-&gt;lcaS−>lca,一部分是lca−&gt;Tlca-&gt;Tlca−>T,两部分分别对应两种答案的统计,这就可以树上差分了。第一种:从子...原创 2018-11-09 13:56:11 · 165 阅读 · 0 评论 -
2018.09.26【TJOI2017】【BZOJ4888】【洛谷P3760】异或和(树状数组)(差分)
BZOJ传送门洛谷传送门解析:额,TJOITJOITJOI连续两年考了位运算。。。我还能说什么。。。PS:zxyoiPS:zxyoiPS:zxyoi不是天津oieroieroier。思路:一般位运算都是分开考虑。。。因为各位互不影响。。。但是这道题。。。这个加法啊。。。神TMTMTM进位啊。。。我第一次拿到还以为不可做。。。然后看了一下题解。是的,维护是否进位。首先我们...原创 2018-09-26 18:47:11 · 241 阅读 · 0 评论 -
【SCOI2012】喵星球上的点名(SAM)(树上差分)
传送门原题数据过水导致一个log跑不过根号目前知道两种根号做法,暴跳SAM的根号做法和本身就是根号的莫队做法,如果要卡的话这两种是绝对不可能比log快的。来加一个强制在线题解:首先用map存转移把广义SAM建出来。我们注意到第一个询问就是问终点的fail树内部有多少个不同的串。直接树上差分打标记解决。第二个询问就是问它的所有匹配点在fail树上到根的链的并集上有多少个之前的询问的终...原创 2019-10-08 10:55:57 · 195 阅读 · 0 评论