bzoj1977: [BeiJing2010]次小生成树 kruskal+倍增LCA
给定一张无向图,求严格次小的生成树(保证存在)
非严格次小的很好做
kruskal求出最小生成树,倍增求LCA与区间最大边权
枚举剩下的边两端点之间的最大值比较即可.
但是要严格次小的话,要在倍增时维护一个次大边权值
枚举时如果当前边与最大相等则比较次大
做的时候一堆奇怪的bug。。
#include
#define LL long long
using namespace std
原创
2017-12-23 16:51:43 ·
315 阅读 ·
0 评论