最小生成树~kruscal

    xiaoxiao2026-05-15  7

    void find(x) { if(fa[x]==x)return x; else return find(fa[x]); } void kruscal() { sort(e+1,e+num+1,cmp); for(int i=1;i<=n;i++) fa[i]=i; int tot=0; int ans=0; for(int i=1;i<=num;i++) { int x=e[i].x; int y=e[i].y; int f1=find(x); int f2=find(y); if(f1!=f2) { tot++; ans+=e[i].l; fa[f1]=f2; if(tot==n-1)break; } } }
    转载请注明原文地址: https://ju.6miu.com/read-1309722.html
    最新回复(0)