AT_cf17_final_j Tree MST 题解
考虑使用 b 算法解决
问题就变成了:对于一个集合 $S$ ,我如何去寻找一个点 $p$ 使得
$$\min_{s \in S}w_{p}+w_{s}+dis_{p,s} \le \min_{s\in S,j\not \in S \wedge j \not = p}w_{s}+w_{j}+dis_{s,j}$$
我们称每个节点所属的集合为他的颜色
考虑启发式合并,对树上每一个点 $u$ 用一个 $set$ 维护子树内每种颜色的点的 $dis_{u,p}+w_{p}$ 的最小值,额外维护所有颜色中的最小值和次小值,启发式合并的同时统计每种颜色的答案即可
发现其实不用启发式合并,用类似树形dp的方式上下 dfs 即可
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 mygr main()!