#include冒个泡表示还活着。。。#include #include #include using namespace std;#define inf 10000000#define MAXN 20000struct Edge{ int x,y,len;}e[3*MAXN];int n,m,r,ans;int fa[MAXN];int find(int x){ if(x != fa[x]) fa[x] = find(fa[x]); return fa[x];}bool cmp(Edge x,Edge y){ return x.len>y.len;}void kruskal(){ for(int i=0;i<=n+m;i++) fa[i]=i; ans=0; sort(e,e+r,cmp); int f1,f2; for(int i=0;i
这题需要转换下思维,就成最大生成树问题了。