随便写一点。
1. 原理
定义重儿子为子树内子树大小最大的任一个点,重边为重儿子向其父亲连的边,其余为轻边。
根据定义,轻边的父亲的子树大小一定不小于这个点的子树大小的二倍。又可以证出重边数量是 \(O(\log n)\) 的。因此可以用线段树维护这个东西。
2. 应用
2.1 dsu
2.2 lca
考虑两个点跳到同一条重链上,dep 较小的就是 lca。
2.3 套数据结构
首先板子肯定就是用线段树维护一下。
然后就是 CF343D,套个 ODT 板子。
标签:子树,剖分,轻边,笔记,树链,lca,重边 From: https://www.cnblogs.com/lgh-blog/p/18130104