知识点:次小生成树

1.非严格次小生成树

    结论:非严格次小生成树与MST只差一条边.

    做法:求出MST。对于每一条不在生成树的边,加入到树中一定会成环.那么删除 除该边以外最大权值的边.得到新的价值val_i那么答案=min (val_1,...val_k).

    具体算法: 

            1.跑一遍kursal算法。得到MST的价值V

            2.对MST跑倍增算法,维护k级祖先以及到其的最大边权.

            3.对于每一条不在MST的边E.查询两个点(u,v)之间的最大值res(这个可以在求LCA的过程中求得). 得到新价值 Val = V - res + E.len.

            4.答案为:min(val)

   复杂度:O(mlogn)

相关应用:

1.求一张图的MST是否唯一.       

        求次小生成树,判相等即可

2.求必经过某条边的MST。

        1.若该边在MST中.直接输出V

        2.若该边不在MST中,将其加入MST,替换掉 环上除它之外的最大边权

2.严格次小生成树

结论:严格次小生成树与MST只差一条边.

    原理:只要存在某一条 [不在MST中的边] 与环上的最大值相同 时,上述算法求得的次小生成树是不严格的。

    做法:与上面大致相同。多维护一个严格次大的边权。 枚举边E时,当最大值 == E边权 则取次大值. 最后所有结果要取取最小值

 模板题: 洛谷P4180


3.瓶颈生成树

定义

无向图  的瓶颈生成树是这样的一个生成树,它的最大的边权值在  的所有生成树中最小。

 结论:最小生成树一定是瓶颈生成树,而瓶颈生成树不一定是最小生成树。

4.最小瓶颈路

定义

无向图  中 x 到 y 的最小瓶颈路是这样的一类简单路径,满足这条路径上的最大的边权在所有 x 到 y 的简单路径中是最小的。

应用:

多次查询 任意两点 的 最小瓶颈路 的最大值.      处理方法和 次小生成树 一样。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。