每日总结714
树剖
trick:全局平衡二叉树
直接用树剖+线段树是两只 log 的,树剖的 log 是因为爬轻儿子子树大小翻倍,考虑让数据结构与轻儿子共享一个均摊结构,以子树 sz 作为权值对重链建平衡树,这样在平衡树上爬一层也是子树大小翻倍,所以共享一个 log。
对于树剖题目可以将重链与轻儿子分开考虑,因为要求不一样。
点分治
建完点分树后要利用好深度 log,子树大小之和 nlogn 的性质,许多联通相关问题可以转化为点分树上的连通性问题,然后可以跑暴力或者预处理。
不知道叫什么的 trick
如果要求区间最小值和次小值,实际上只有 O(n) 对是有效的,枚举每个值作为次小值并找两侧第一个比她小的最小值。
树上均摊
人类智慧。

浙公网安备 33010602011771号