要求能够让所有节点联通并且最大边权最小的问题,其实求的就是最小生成树的最大边权;
证明:最小生成树的最大边权一定是所有最小生成树中最小的
反证法:假设最小生成树T1的最大边(u, v),和一个非最小生成树T2的最大边(a, b),且(u, v) > (a, b) > T2中的其他所有边
去掉(u, v),最小生成树会形成一个隔,u,v分别在割的两个分量中,且u,v在T2中一定存在一条唯一的路径,又由于u,v在T1中属于不同的分量,所以这条路径中一定存在着某条边两端分别在割的两个分量中,在T1中连上这条边就能够形成新的生成树,且比原来的最小生成树小,矛盾;
C++ Code
1 |
|