今天看了一下,发现以前的我是个 *** 。
长链剖分就是说,对于我们维护与深度有关的东西。我们可以发现,如果我们将深度最大(深度指到叶子节点的最大距离)的儿子设为重儿子,那么它就会有很多好性质。因为长链总大小为 (n) ,而且如果我们继承重儿子,轻儿子暴力合并的话就可以做到 (Theta(n)),因为每一条长链都只会在链头进行合并,因为储存位置只与深度有关,所以后面一定会被它合并的长链覆盖,不会再计算到贡献。
至于为什么要选深度最大的儿子就是为了保证在合并之后不会再产生贡献。
Dominant Indices
秘术「天文密葬法」
[POI2014]HOT-Hotels 加强版