写在前面: 初探多项式之后,开始了数据结构之旅,可持久化数据结构的总结大概是咕了,只总结一些$LCT$的题 T1:水管局长数据加强版 发现题中只有删边操作,而我们只会做加边,所有考虑时光倒流 先在最后时刻作出最小生成树,之后$LCT$维护最大值不断$link,cut$加边删边更新答案即可 T2:GE ...
分类:
其他好文 时间:
2019-12-22 11:01:38
阅读次数:
102
LCT:link-cut-tree 先粘个板子(可能理解深刻?) #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int read() { int aa=0, ...
分类:
其他好文 时间:
2019-12-22 10:40:05
阅读次数:
95
放几道有意义的题 I,水管局长数据加强版 题目描述 \ : \ 给定一张图,每次询问两点之间的最短路,有删边 其实是$LCT$动态维护最小生成树的板子题来着 由于蒟蒻并不会下放边权之类的神奇操作,所以来一波边化点 由于有删边而没有加边,我们把时间倒序就可以变成有删边没有加边了 II,GERALD07 ...
分类:
其他好文 时间:
2019-12-21 14:00:05
阅读次数:
79
差不多理解板子之后,写了一些奇怪的题。 但是还是那个问题:树剖真好使。 魔法森林:mikufun说这个是傻逼题。 为了得到书法大家的真传,小 E 同学下定决心去拜访住在魔法森林中的隐士。 魔法森林可以被看成一个包含n个节点m条边的无向图,节点标号为1~n,边标号为1~m。 初始时小 E 同学在号节点 ...
分类:
其他好文 时间:
2019-12-21 10:10:02
阅读次数:
87
lct=long code tree 推荐博客:https://www.cnblogs.com/flashhu/p/8324551.html,讲得很详细。 先放题解包,自己的理解会后续加上。 T1:Cave 洞穴勘测 板子题,lct的用途之一:维护联通性,相当与一个可以断边的并查集 T2:树的维护 ...
分类:
其他好文 时间:
2019-12-21 09:34:09
阅读次数:
95
"cf" "luogu" 水一发经验以防大家都以为我死了 ~~其实也快了~~ 因为不是二分图当且仅当存在奇环,所以考虑对每种颜色维护一个lct,表示这种颜色的边的连通情况,注意可能会出现一些成环的边,那就维护这种颜色的,边权为删除时间的最大生成树,每次加入环边,把环上删除时间最小的边先删掉即可.加边 ...
分类:
其他好文 时间:
2019-12-15 23:38:53
阅读次数:
128
"Contest" (2020cj_105) 0+10+20 T1忽略了插入一个数要减掉原来的贡献导致样例没看懂跳了,后面回来写费用流没空写了。 T2第二档写个LCT思维受限?只想着原树的根不能变没想到可以改根之后再改回来。 然后有三个$O(n^2)$或者$O(n^2\log n)$的暴力,我写了一 ...
分类:
其他好文 时间:
2019-12-08 17:23:37
阅读次数:
100
```cpp #include #include #include #include #include using namespace std; const int MAXN=100005; int n,m; struct LCT { int fa[MAXN],val[MAXN],rev[MAXN]... ...
分类:
其他好文 时间:
2019-12-07 21:45:04
阅读次数:
85
LCT: 动态维护一个森林。支持删边,加边,查询链信息等很多操作。 由若干棵$Splay$组成,每棵$Splay$维护一条链,以深度作为关键字。 也就是说$Splay$的中序遍历相当于从上到下遍历这条链。 $Splay$中的边是实边,将两个$Splay$相连的边是虚边。 实边的父亲有它这个儿子(双向 ...
分类:
其他好文 时间:
2019-12-07 14:28:58
阅读次数:
92
[BJOI2014]大融合(Link Cut Tree) 题面 给出一棵树,动态加边,动态查询通过每条边的简单路径数量。 分析 通过每条边的简单路径数量显然等于边两侧节点x,y子树大小的乘积。 我们知道裸的LCT只能维护链的信息,那么怎么维护子树大小呢?我们只需要对于节点x维护x的所有虚儿子的子树大 ...
分类:
其他好文 时间:
2019-12-01 17:09:23
阅读次数:
97