知识点:次小生成树

1.非严格次小生成树

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

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

    具体算法: 

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

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

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

            4.答案为:min(val)

   

相关应用:

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

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

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

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

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

2.严格次小生成树

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

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

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

 模板题: 洛谷P4180


3.瓶颈生成树

定义

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

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

4.最小瓶颈路

定义

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

应用:

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

你可能感兴趣的:(知识点:次小生成树)