次小生成树:由最小生成树换一条边得到,是权值第二小的生成树。
求次小生成树的方法:求最小生成树,然后枚举不在最小生成树上的边,每次加上边(u,v),然后构成一个环,去掉回路中最长的边,枚举完所有边之后得到的就是次小生成树。用dist[i][j]记录最小生成树中i到j的路径中的最大权值,结果就是mst-dist[i][j]+(u,v)。
题意:问最小生成后是否唯一
思路分析:如果最小生成树唯一,那么次小生成树不等与最小生成树,所以只要求次小生成树就可以了。
理论AC。
次小生成树:由最小生成树换一条边得到,是权值第二小的生成树。
求次小生成树的方法:求最小生成树,然后枚举不在最小生成树上的边,每次加上边(u,v),然后构成一个环,去掉回路中最长的边,枚举完所有边之后得到的就是次小生成树。用dist[i][j]记录最小生成树中i到j的路径中的最大权值,结果就是mst-dist[i][j]+(u,v)。
题意:问最小生成后是否唯一
思路分析:如果最小生成树唯一,那么次小生成树不等与最小生成树,所以只要求次小生成树就可以了。
理论AC。