Kruskal重构树学习笔记
瓶颈路#
两点间所有路径中 最小或 最大的路径称为最小/最大瓶颈路。
Kruskal 重构树#
考虑 kruskal 算法的贪心过程,注意到一张图的一个最小生成树是同时也是该图的最小瓶颈生成树,也就是说树上连接两点的简单路径必然是一条两点间的最小瓶颈路。最大同理。
注意到直接在最小生成树上运算十分繁琐,我们考虑将最小生成树重构成一棵 leafy tree:在 Kruskal Algorithm 的过程中,当我们要用一条边连通两个连通快时,新建一个点权为边权的点,将代表两个连通块的点设为该点的左右儿子,然后让新建的这个点代表整个连通块。
显然有任意两点间的瓶颈路长度为其 LCA 的点权。
以上是维护边权最值,如果要维护点权最值,那么我们可以让连接两点的边的权为这两点的点权的最值。见 [IOI2018] werewolf 狼人。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?