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 模板的主要内容,如果未能解决你的问题,请参考以下文章

「LuoguP4180」 模板严格次小生成树[BJWC2010](倍增 LCA Kruscal

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段1——vue主模板

VSCode自定义代码片段2——.vue文件的模板

VSCode自定义代码片段(vue主模板)

Eclipse 中的通用代码片段或模板