摘要: 次小生成树:在求最小生成树时,用数组path[i][j]来表示MST中i到j最大边权。求完后,直接枚举所有不在MST中的边,把它加入到MST中构成一棵新的树,且该树有环,此环是由刚加入的边(I,j)造成的,所以可以通过删除path[i][j]即可得到新的一颗树,且所有的该类树中必有一棵为次小生成树。比如如图所示:G,H不是MST上的边,通过加入边(G,H),得到一个环(B,H,G),然后由于在计算最小生成树时已经计算出G,H之间最大边权为path[G][H] = BH,所以通过删除BH即可得到一棵此时最小的生成树,然后更新答案即可#include <iostream>#includ 阅读全文
posted @ 2012-06-18 22:04 yejinru 阅读(716) 评论(0) 推荐(0) 编辑