kruscal 模板
Posted nvwang123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kruscal 模板相关的知识,希望对你有一定的参考价值。
/* Kruskal模板 */ struct edge{ int from; int to; int next; int value; bool operator<(const edge a) const{ return value<a.value ; } }; const int inf=0x3f3f3f3f; inline int find(int k){ if(k==f[k]) return k; else return f[k]=find(f[k]); } inline int merge(int a,int b){ if(find(a)!=find(b)) return f[find(a)]=find(b); } inline void Kruskal(){ sort(edge,edge+m); memset(dis,inf,sizeof(dis)); for(int i=1;i<=m;i++){ if(t==n-1) break; int u=edge[i].from ; int v=edge[i].to ; if(find(u)!=find(v)){ merge(u,v); ans+=edge[i].value ; ++t; } } }
以上是关于kruscal 模板的主要内容,如果未能解决你的问题,请参考以下文章