![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LCT
guapisolo
已经弃掉CSDN转博客园了https://www.cnblogs.com/guapisolo/
展开
-
Link Cut Tree 动态树 小结
动态树有些类似 树链剖分+并查集 的思想,是用splay维护的 lct的根是动态的,"轻重链"也是动态的,所以并没有真正的轻重链 动态树的操作核心是把你要把 修改/询问/... 等等一系列的操作的树链放到一个splay里,然后用splay根据相对深度大小来维护这个树链 lct利用了splay的神奇性质,通过"认爹不认子"来达到记录多个子树的目的 lct的核心,access函数的意义是,在从...原创 2018-09-13 19:04:39 · 114 阅读 · 0 评论 -
bzoj 2631 [国家集训队]Tree II (LCT)
题目大意:给你一棵树,让你维护一个数据结构,支持 边的断,连 树链上所有点点权加上某个值 树链上所有点点权乘上某个值 求树链所有点点权和 (辣鸡bzoj又是土豪题,洛谷P1501传送门) LCT裸题,下传标记,搞法类似于洛谷线段树模板2 先下传乘法标记,val,sum,乘法标记,加法标记都要乘 再下传加法标记,val,加法标记直接加,sum应该加上子树size*加的值 ...原创 2018-09-13 21:05:07 · 124 阅读 · 0 评论 -
bzoj 2049 [SDOI2008]洞穴勘测 (LCT)
题目大意:维护一个森林,支持边的断,连,以及查询连通性 LCT裸题 洛谷P2147传送门 1A了,给自己鼓鼓掌 #include <cstdio> #include <algorithm> #include <cstring> #define il inline #define inf 500000 #define N 10100 using names...原创 2018-09-13 21:10:12 · 98 阅读 · 0 评论 -
bzoj 3282 Link Cut Tree (LCT)
题目大意:维护一个森林,支持边的断,连,修改某个点的权值,求树链所有点点权的异或和 洛谷P3690传送门 搞了一个下午终于明白了LCT的原理 #include <cstdio> #include <algorithm> #include <cstring> #define root d[0].ch[1] #define il inline #define...原创 2018-09-13 21:14:06 · 130 阅读 · 0 评论 -
bzoj 4530 [BJOI2014]大融合 (LCT)
题目大意:给你一棵树,树的边是一条一条连上去的 洛谷P4219传送门 LOJ#2230传送门 在连边的过程中询问某条边的“负载”,即能通过这条边的所有不同的路径的数量 LCT动态维护当前节点的子树大小 size记录该节点的虚子树的大小之和,sum记录该节点为根节点的子树大小 更换虚子节点时,或者连上新的虚子树时,即access和link操作,要注意更新size #include &l...原创 2018-09-14 19:31:10 · 124 阅读 · 0 评论 -
bzoj 3510 首都 (LCT)
洛谷P4299传送门 题目大意:给你一颗树,边是一条一条连上去的 在连接过程中会存在询问,询问当前节点所在联通块(其实是一颗树)的重心是哪个节点 以及森林中所有树的重心的异或和 在做这道题之前,要先了解树的重心的一个性质: 两棵树合并时,新树的重心在合并后,原来两颗树的重心的两个节点构成的那条链上 了解了这条性质,思路就不难想了 当连接两个节点时,先寻找它们所在原树的重心,然后连接这...原创 2018-09-15 15:34:52 · 146 阅读 · 0 评论