Live2D

长链剖分 学习笔记

今天看了一下,发现以前的我是个 *** 。

长链剖分就是说,对于我们维护与深度有关的东西。我们可以发现,如果我们将深度最大(深度指到叶子节点的最大距离)的儿子设为重儿子,那么它就会有很多好性质。因为长链总大小为 \(n\) ,而且如果我们继承重儿子,轻儿子暴力合并的话就可以做到 \(\Theta(n)\),因为每一条长链都只会在链头进行合并,因为储存位置只与深度有关,所以后面一定会被它合并的长链覆盖,不会再计算到贡献。

至于为什么要选深度最大的儿子就是为了保证在合并之后不会再产生贡献。

一些例题

Dominant Indices

秘术「天文密葬法」

[POI2014]HOT-Hotels 加强版

posted @ 2021-10-22 15:41  Dark_Romance  阅读(55)  评论(0编辑  收藏  举报