首页 > 其他分享 >关于树上启发式合并(dsu on tree)

关于树上启发式合并(dsu on tree)

时间:2022-10-11 00:00:25浏览次数:76  
标签:子树 dsu tree 启发式 树上 节点

引入

题目地址

题目大意:给一棵 \(N\) 个点、有边权的树,求最小的不小于k的一条树上路径的长度。

我的第一想法肯定是把每个节点的的信息不断像上传,同时还在这个节点的位置处理子树中到它和跨过它的路径的信息,但这样的复杂度是最坏 \(\Theta(N^2)\) 的,只需要用一条链就可以轻松卡掉它。。。
看一眼数据范围,典型的要带一两个 \(log\) 那怎么办,就引出我们的主题了:

树上启发式合并(dsu on tree)

这玩意乍一看很玄学,因为启发式就显得它很难懂,也很高大上,但事实上你只需要感性理解一下,放轻松~

回忆一下重链剖分中,对于一棵树的一个节点,从根节点到它的轻边数是不超过 \(log N\) 的[1]


  1. 证明:设 \(x\) 为根节点到该节点的轻边数, \(y\) 为该节点的子树大小,那么因为轻边连接的子树最大不大于它的父节点的子树大小的一半,所以有 \(y<=\cfrac{N}{2^x}\) , ↩︎

标签:子树,dsu,tree,启发式,树上,节点
From: https://www.cnblogs.com/fluffy-stoat/p/16777881.html

相关文章