[SDOI2018]战略游戏 这题是 "道路相遇" ( "题解" )的升级版,询问的两个点变成了$S$个点。 "LG传送门" 还是先建出圆方树,考虑对于询问的$S$个点,答案就是圆方树上能包含这些点的最小连通块中的圆点个数减去$S$。问题变成了怎样求这样的连通块中的圆点个数,直接给结论吧:先搞出树的 ...
分类:
其他好文 时间:
2019-01-20 15:01:49
阅读次数:
211
"传送门" 注意到我们需要求的是两点之间所有简单路径中最小值的最小值,那么对于一个点双联通分量来说,如果要经过它,则一定会经过这个点双联通分量里权值最小的点 注意:这里不能缩边双联通分量,样例$2$就是一个反例 上面这个图如果缩点双会缩成$3$个,但是缩边双会将整个图缩成$1$个点。 假如我们询问的 ...
分类:
其他好文 时间:
2019-01-18 21:27:22
阅读次数:
203
简介 LCT是一种数据结构, 可以维护树的动态加边, 删边, 维护链上信息(满足结合律), 单次操作时间复杂度 $O(\log n)$.(~~不会证~~) 思想类似树链剖分, 因为splay可以换根, 用splay维护重链, splay的中序遍历即为链按深度从小到大遍历的结果. 注意区分splay和 ...
分类:
其他好文 时间:
2019-01-15 11:58:36
阅读次数:
164
题目描述: 样例: 数据范围与约定: 标签:主席树 一道比较正常的主席树题 ~~我才不会告诉你我考场上写了树链剖分+线段树+set还写挂了呢~~ 容易发现我们只需要把删去每个节点后的联通块最大值$mx_1$,次大值$mx_2$和最小值$mn$求出来,然后在$mx_1$里面抠下来一块大小为$v$的子树 ...
分类:
其他好文 时间:
2019-01-13 18:02:21
阅读次数:
230
题面 题解 又一道全场切的题目我连题目都没看懂……细节真多…… 先考虑怎么维护仙人掌。在线可以用LCT,或者像我代码里先离线,并按时间求出一棵最小生成树(或者一个森林),然后树链剖分。如果一条边不是生成树上的边,它肯定会和树上$u,v$这条路径构成一个环,然后对于每条树边记录一下这条树边被覆盖过没有 ...
分类:
其他好文 时间:
2019-01-05 12:17:59
阅读次数:
231
"SDOI_染色" 背景: 很早就想学习树链剖分,趁着最近有点自由安排的时间去学习一下,发现有个很重要的前置知识——线段树。(其实不一定是线段树,但是线段树应该是最常见的),和同学吐槽说树剖的剖和分都很死板,主要还是看线段树的维护功底。但是也要知道剖分完的结果,不然就算线段树玩得飞起,也维护不了。看 ...
分类:
其他好文 时间:
2019-01-03 10:50:20
阅读次数:
270
~~1A真舒服。~~ 喜闻乐见的树链剖分+SA。 一个初步的想法就是用树链剖分,把两个字符串求出然后hash+二分lcp。。。不存在的。 我们用树链剖分拼出两个字符串(用树剖拼出的这两个字符串,一定是DFS序上一个一个区间拼在一起的,我们记录这些区间的左右端点。)因为考虑到这个字符串是有序的,我们需 ...
分类:
其他好文 时间:
2019-01-02 23:25:51
阅读次数:
336
图片参考 "YangZhe的论文" , "FlashHu大佬的博客" Link Cut Tree实际靠的是实链剖分,重链剖分和长链剖分珂以参考 "树链剖分详解" Link Cut Tree将某一个儿子的连边划分为实边,而连向其他子树的边划分为虚边 区别在于虚实是可以动态变化的,因此要使用更高级、更灵 ...
分类:
其他好文 时间:
2018-12-31 15:51:05
阅读次数:
141
Ⅱ、预备知识 树链剖分,又叫重链剖分,树剖。顾名思义,就是在树上将树划分为一条条链,然后进行树上修改与查询操作(针对于结点操作,边权操作后面会讲),用线段树来维护保证时间复杂度( "数据结构模板" )。一般来说,可以支持以下几种操作: 1、树上路径区间修改 2、树上路径间的区间查询(如点权之和,最大 ...
分类:
其他好文 时间:
2018-12-30 23:22:51
阅读次数:
349
近期非常开森的学习了树链剖分 然后发现它是一个写一下调一年的数据结构,你值得拥有 前置知识:线段树,DFS序 DFS序: DFS序,字面意思,就是DFS到的顺序 我们只需要在搜到节点的时候记录一下就可以了 比如这样可能是一个树的DFS序 那知道了DFS序又有什么用呢 我们可以发现一颗子树在DFS序上 ...
分类:
其他好文 时间:
2018-12-29 13:56:18
阅读次数:
216