假装有标题
部分可持久化
完全可持久化
函数式实现可持久化:
不修改任何信息,只通过新建实现
主席树
(函数式值域线段树)
题目
T1:BZOJ1901 Dynamic Rankings
外层套一层树状数组
O(logn)个线段树互相加减
T2:BZOJ3196 二逼平衡树
直接树状数组套主席树
线段树合并
合并两棵结构相同的线段树
一般是合并主席树
把n个O(logn)的线段树合并在一起的时间复杂度不超过O(nlogn)
题目
T1:BZOJ2733永无乡
直接主席树合并
T2:Arietta
网络流,考虑线段树优化建图
线段树套线段树是
的,不优
考虑线段树合并
从子树向父亲合并
T3:BZOJ3065带插入区间K小值
平衡树套主席树
但是旋转会导致GG
仍然可以用替罪羊树或treap
可持久化字典树
一般是0/1 Trie
处理位运算较常见
题目
T1:BZOJ2741 L
前缀和一波
分块
f[i][j]表示第i个块开始到第j个元素的答案
转移时需询问固定值与权健内元素异或最大值
T2:BZOJ3217 ALOEXT
重量平衡树套可持久化0/1 trie
可持久化平衡树
普通treap和fhq式treap均可可持久化
题目
T1:超级编辑器
听神仙
可持久化可并堆
二叉堆没什么好可持久化的
有些均摊的堆无法可持久化
比如斐波那契堆不可以可持久化
左偏树可以可持久化
K短路
计算S到T的
(还是见论文吧