参考:http://blog.sina.com.cn/s/blog_7a1746820100wp67.html
https://oi.abcdabcd987.com/summary-of-heavy-light-decomposition/
http://blog.csdn.net/acdreamers/article/details/10591443
一、概述
所谓树链剖分,就是把树上的路径进行重链、轻链的划分
它并不是一个复杂的算法或者数据结构,只是能把一棵树拆成链来处理而已
换句话说,树链剖分只是 xx 数据结构 / 算法在树上的推广
定义 size[v] 为以 v 为根节点的子树节点的个数,引入一些概念
- 重儿子(Preferred Child):令 u 为 v 的儿子中 size 最大的节点,那么 u 就是 v 的重儿子,一个节点最多只能有一个重儿子
- 重(zhòng)边(Preferred Edge