§ 0x01 正题
照抄 PDF:
在普通的kruskal中,如果一条边连接了在2个不同集合中的点的话,我们将合并这2个点所在集合。而在kruskal重构树中,如果一条边连接了在2个不同集合中的点,我们将新建一个节点出来,并用这个新节点作为一个中转连接这2个集合。
性质:
- 是一个二叉树
- 一个节点能走到的节点一定在它的子树中
- 如果是按最小生成树建立的 话是一个大根堆
- 求 u , v 之间路径上的最大边权 -> 求重构树上 u , v 两个点的LCA。
- 重构树中代表原树中的点的节点全是叶子节点,其余节点都代表了一条边的边权。 kruskal重构树,其实本质上就是个可持久化的kruskal。
- 只保留边权小于等于 x 的边形成的树 -> 重构树上点权小于等于 x 的点的子树。
有空再补。