[luoguP2387] 魔法森林(LCT + 并查集)传送门
并查集真是一个判断连通的好东西!
连通性用并查集来搞。
把每一条边按照 a 为关键字从小到大排序。
那么直接枚举,动态维护 b 的最小生成树
用 a[i] + 1 ~ n 路径上
[luoguP3690] 【模板】Link Cut Tree传送门
处理路径 xor 和的时候可以维护子树 xor 和,先提取出路径,再把一个点 splay 到最上方,直接取子树 xor 和即可。
更新一个点权时可以先提取出根到这个点的路径,把这个点
[BZOJ2594] [Wc2006]水管局长数据加强版(LCT + kruskal + 离线)传送门
WC这个题真是丧心病狂啊,就是想学习一下怎么处理边权,给我来了这么一个破题!
ORZ hzwer 临摹黄学长代码233 但还是复杂的一匹
理一下思路吧
题目大意:给定一个无向图
[BZOJ2843] 极地旅行社(LCT)传送门
模板。
——代码
1 #include <cstdio>
2 #include <iostream>
3 #define N 300001
4 #define get(x) (son[f[x]][1] == (x))
5 #define swap(x, y) (
[luoguP3203][HNOI2010]BOUNCE 弹飞绵羊(LCT)传送门
每个点都会跳到另一个点,连边就是一棵树。
更改弹力就是换边。
求一个点跳多少次跳到终点就是求这个点的深度,那么只需要维护 size 域,access(n + 1) 然后 splay(x),
[luoguP2147] [SDOI2008]Cave 洞穴勘测(并查集 || lct)传送门
1.并查集骗分(数据太水,比正解还快。。。)
我们知道,并查集有一步操作叫“路径压缩”,但是本题的并查集我们不能路径压缩,否则就无法进行Destroy操作。那每一步操作我们









