克鲁斯卡尔重构树
Posted wmq12138
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了克鲁斯卡尔重构树相关的知识,希望对你有一定的参考价值。
大佬博客
定义
克鲁斯卡尔重构树可以维护诸如“查询从某个点出发经过边权不超过的边最远所能到达的节点”或“从某点到某点所有路径的最长边的最小值”之类的问题。总之,算法处理范围有限,且多为同时包含“最大最小”、离线可二分的题目。
可与数据结构结合,以维护更复杂的数据结构。 它可以在线回答,复杂度为O(logn)
构建
把边权从大到小排序,用给两端点(两个联通块)新建一个权值为边权的共同父亲,来代表给它们加了一条边。
性质
树上除叶子结点以外的点都对应着原来生成树中的边,叶子结点就是原来生成树上的节点。
由于新点的创建顺序与原来生成树上边权的大小有关(从大到小),可以发现,从每个点到根节点上除叶子结点外按顺序访问到的点的点权是单调的。
出于算法贪心的性质,两个点和的的点权就对应着它们最小生成树上的瓶颈。
实际上这棵树就是一个二叉堆。 相关题目: [bzoj3732]network [NOI2018]归程 [ONTAK2010]Peaks加强版
---恢复内容结束---
---恢复内容开始---
大佬博客
定义
克鲁斯卡尔重构树可以维护诸如“查询从某个点出发经过边权不超过的边最远所能到达的节点”或“从某点到某点所有路径的最长边的最小值”之类的问题。总之,算法处理范围有限,且多为同时包含“最大最小”、离线可二分的题目。
可与数据结构结合,以维护更复杂的数据结构。 它可以在线回答,复杂度为O(logn)
构建
把边权从大到小排序,用给两端点(两个联通块)新建一个权值为边权的共同父亲,来代表给它们加了一条边。
性质
树上除叶子结点以外的点都对应着原来生成树中的边,叶子结点就是原来生成树上的节点。
由于新点的创建顺序与原来生成树上边权的大小有关(从大到小),可以发现,从每个点到根节点上除叶子结点外按顺序访问到的点的点权是单调的。
出于算法贪心的性质,两个点和的的点权就对应着它们最小生成树上的瓶颈。
实际上这棵树就是一个二叉堆。
相关题目:
以上是关于克鲁斯卡尔重构树的主要内容,如果未能解决你的问题,请参考以下文章
[您有新的未分配科技点][BZOJ3545&BZOJ3551]克鲁斯卡尔重构树
Gym - 101173H Hangar Hurdles(bfs+克鲁斯卡尔重构树)