题意:有一棵树,对于每个点求子树中离他深度最多的深度是多少, 题解:线段树合并快如闪电,每个节点开一个权值线段树,递归时合并即可,然后维护区间最多的是哪个权值,到x的深度就是到根的深度减去x到根的深度复杂度O(nlogn) // pragma comment(linker, "/stack:2000 ...
分类:
其他好文 时间:
2018-07-20 00:17:27
阅读次数:
216
日常吐槽:好吧其实这个模板我就花了四个晚上调试,最后对着标一个一个看才改好,所以代码实现能力弱是个大坑:) 思路 主席树的另一个名字叫做可持久化权值线段树,用于维护多个版本的线段树。由于开多颗线段树的话空间会炸到飞起,所以可以充分利用每棵线段树中的重复部分。比如在第i + 1的版本的末尾新增一个节点 ...
分类:
其他好文 时间:
2018-07-16 21:41:23
阅读次数:
202
" Portal bzoj2588 " Solution 不行我一定要来挂这道题qwq很气愤qwq(其实还不是因为自己蠢。。) 额首先说一下正解 如果这个问题放在序列上面的话。。直接离散化一下然后一个可持久化权值线段树就好了 然后放在树上的话,我们可以考虑处理树上点对问题的一个很常见的套路: $$ ...
分类:
其他好文 时间:
2018-07-14 16:48:29
阅读次数:
172
//主席树 权值线段树+可持久化 //权值线段树:在此处指各个数字在某个区间内出现的次数 //那么第一棵权值线段树会记录[1,1]的数字出现次数 //第n棵权值线段树会记录[1,n]的数字出现次数 //例:数列为110001 //第一棵权值线段树记录为tree1[0]=0 tree1[1]=1 //... ...
分类:
其他好文 时间:
2018-07-08 20:04:46
阅读次数:
130
题意:题目太玄了我无法用语言精简.. 题目要求的操作1是基于值的,所以用普通线段树基本无法维护(反正我不知道) 换做权值型后十分好做,因为连接处必然是更后面的,这时比较一下位置就好 PS.感觉周赛越来越硬核了 ...
分类:
其他好文 时间:
2018-06-02 23:58:57
阅读次数:
312
题意:有一篇博客。一共有n个人,心中有他们期望该博客得到的赞数a[i]。当某个时刻该博客的获赞数<a[i],则该人会使得赞数+1,当赞数>a[i],该人会使得赞数-1,当赞数=a[i],不做任何改变。 对于1<=k<=n,询问1~k个人按一定的顺序给该博客从0开始点赞或点踩,该博客的最大获赞数。 - ...
分类:
其他好文 时间:
2018-05-25 13:22:20
阅读次数:
281
题目 有一个长度为n的数组{a1,a2,...,an}。m次询问,每次询问一个区间内最小没有出现过的自然数。 分析 显然,当$a_i n$时,对答案没有影响,所以全部视为n+1。 有两种方法,主席树和权值线段树。 主席树裸题,就讲权值线段树。 首先将询问按r排序,将1~r的$a_i$全部加入权值线段 ...
分类:
其他好文 时间:
2018-05-21 14:30:31
阅读次数:
243
第一次做这种$SAM$带权值线段树合并的题 然而$zjq$神犇看完题一顿狂码就做出来了 $Orz$ 首先把所有串当成一个串建$SAM$ 我们对$SAM$上每个点 建一棵权值线段树 每个叶子节点表示一个匹配串能到达这个点的子串个数 这样我们对最后的$SAM$的权值线段树按$parent$树合并 询问的 ...
分类:
其他好文 时间:
2018-05-18 18:13:24
阅读次数:
211
各位大佬都用的排序和杨颙大定理,蒟蒻的我怎么也不会做(瑟瑟发抖),那么,就来一发主席树吧。我们知道线段树可以维护区间,平衡树可以维护值域那么,我们可以用线段树套平衡树来解决这个区间值域的问题线段树套平衡树(令人窒息的操作)好在权值线段树也可以维护值域,我们只要建n棵线段树维护前缀和,然后作差就好考虑 ...
分类:
其他好文 时间:
2018-05-10 23:33:33
阅读次数:
194
BZOJ_3685_普通van Emde Boas树_权值线段树 Description 设计数据结构支持: 1 x 若x不存在,插入x 2 x 若x存在,删除x 3 输出当前最小值,若不存在输出-1 4 输出当前最大值,若不存在输出-1 5 x 输出x的前驱,若不存在输出-1 6 x 输出x的后继 ...
分类:
其他好文 时间:
2018-05-06 16:19:47
阅读次数:
188