把 Kruskal 的合并过程变成新增一个点,并把点权赋值为该边权,得到一颗树。
这棵树有一些美妙的性质,比如当是最小生成树时,两点的 lca 的点权为它们所有路径中最大值最小的边权;反之,为它们所有路径中最小值最大的边权。
还有,它是一个堆!!(欢呼
这简直是太美妙啦~
:) heihei
你可以套好多好多数据结构上去~~
就像酱紫
\(\color{pink}\text{恶心心的倍增}\)
\(\color{pink}\text{讨厌厌的主席树}\)
还有正常的最短路呢~
\(\color{pink}\text{图论有最短路这很合理吧}\)
其中,记录每个点管辖的叶节点的区间也是常见套路。
标签:pink,重构,color,text,Kruskal,点权,边权 From: https://www.cnblogs.com/mRXxy0o0/p/17827008.html