首页 > 其他 > 详细

kruskal重构树

时间:2020-06-01 18:54:29      阅读:26      评论:0      收藏:0      [点我收藏+]

kruskal重构树

kruskal生成树算法是利用贪心和并查集来找到一颗最小生成树,但是他可以求解的信息不止于MST

如果为每次取出的合法边新建一个结点,此结点的点权为边的边权,将整张图看作是点权图,就会得到一颗二叉树,而这颗二叉树满足任意一个如果有权值则有两子,否则为叶节点

最小生成树上两点的距离及重构树上两点的距离,且深度越浅的非叶节点权值越大。

由此可以得到一个性质,最小生成树中两点间的最长边权为两点LCA的权值

例题:http://lydsy.com/JudgeOnline/problem.php?id=3732

先建立一颗重构树,再在新图上跑倍增/树剖LCA即可

kruskal重构树可以代替一些树剖,复杂度更优秀,编码难度也更低

kruskal重构树

原文:https://www.cnblogs.com/nebulyu/p/13026654.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!