LCT总结 类比树剖,树剖是通过静态地把一棵树剖成若干条链然后用一种支持区间操作的数据结构维护(比如线段树、树状数组),而LCT是动态地去处理这个问题。 大家都知道树剖用线段树维护,而LCT用\(splay\)维护。实际上同一条重链上的所有点才会被放在一棵\(splay\)中,而我们需要 ...
LCT Link Cut Tree 今天,YCC 本来是想搞一搞数论,但是老吕说:今天我闲着,给你们讲一讲LCT。 LCT 是什么 是一个由若干棵子结点无序的有根树组成的森林,支持对树的分割, 合并, 对某个点到它的根的路径的某些操作, 以及对某个点的子树进行的某些操作。 基本概念 原树:就是原来的树,实孩子,实边,实链,都是原树中的。 辅助树:是很多splay 构成的树,程序中真正操作的都是辅助 ...
2021-09-08 14:50 0 137 推荐指数:
LCT总结 类比树剖,树剖是通过静态地把一棵树剖成若干条链然后用一种支持区间操作的数据结构维护(比如线段树、树状数组),而LCT是动态地去处理这个问题。 大家都知道树剖用线段树维护,而LCT用\(splay\)维护。实际上同一条重链上的所有点才会被放在一棵\(splay\)中,而我们需要 ...
实链剖分和树链剖分的区别 树链剖分有一个更专业的名称 :轻重链剖分,即为根据子节点的子树大小来剖,虽然树链剖分有很好的性质 ,但是还是存在缺陷的。例如 : 树链剖分将树剖完之后是静态的,(无法进行修 ...
前言 \(LCT\),真的是一个无比神奇的数据结构。 它可以动态维护链信息、连通性、边权、子树信息等各种神奇的东西。 而且,它其实并不难理解。 就算理解不了,它简短的代码也很好背。 \(LCT\)与实边的定义 \(LCT\),全称\(Link\ Cut\ Tree\),中文名动态树 ...
为了优化体验(其实是强迫症),蒟蒻把总结拆成了两篇,方便不同学习阶段的Dalao们切换。 LCT总结——概念篇戳这里 题单 灰常感谢XZY巨佬提供的强力资磁!(可参考XZY巨佬的博客总结) 题单对于系统地学习一个知识点还是有好处的。 所以蒟蒻搜集了各处的LCT题目(其实作为近年新兴的知识点 ...
最近自学了一下LCT(Link-Cut-Tree),参考了Saramanda及Yang_Zhe等众多大神的论文博客,对LCT有了一个初步的认识,LCT是一种动态树,可以处理动态问题的算法。对于树分治中的树链剖分,只能处理静态的数据或者在轻重链上的边或点的权值,对于其他动态的处理就毫无办法 ...
有些题目,在要求支持link-cut之外,还会在线询问某个子树的信息。LCT可以通过维护虚边信息完成这个操作。 对于LCT上每个节点,维护两个两sz和si,后者维护该点所有虚儿子的信息,前者维护该点的所有信息和。 那么显然有:$si[x]=\sum sz[pson]$,$sz[x]=sz ...
差不多理解板子之后,写了一些奇怪的题。 但是还是那个问题:树剖真好使。 魔法森林:mikufun说这个是傻逼题。 为了得到书法大家的真传,小 E 同学下定决心去拜访住在魔法森林中的隐 ...
LCT学习笔记 前言 老吕又讲了LCT,据他说特别简单,于是就强行灌输(雾。 打字两分钟,画图两小时。。。 引入 维护一棵树,维护以下的操作: 链上求和 链上求最值 链上修改 子树修改 子树求和 可能你第一眼想的是树链 ...