美文网首页
[水][最小生成树] vijos 繁华的都市

[水][最小生成树] vijos 繁华的都市

作者: 噩噩噩噩噩v | 来源:发表于2017-09-19 16:00 被阅读0次

    题目传送门:题目
    codevs上应该也有

    #include<bits/stdc++.h>
    using namespace std;
    int n,m;
    struct note
    {
        int s,v,w;
    }e[1000100];
    bool book[310000];
    bool cmp(note a,note b)
    {
        return a.w<b.w;
    }
    int fa[310000];
    int ff(int x)
    {
        return fa[x]=(fa[x]==x)?x:ff(fa[x]);
    }
    int main()
    {
        cin>>n>>m;
        for(int i=1;i<=m;i++)
        cin>>e[i].s>>e[i].v>>e[i].w;
        sort(e+1,e+m+1,cmp);
        int rest=n-1;
        int ans1=0,ans2=0;
        for(int i=1;i<=m;i++)
        fa[i]=i;
        for(int i=1;i<=m;i++)
        {
            
            if(!rest) break; 
            int p1,p2;
            p1=ff(e[i].s);
            p2=ff(e[i].v);
            if(p1==p2) continue;
            fa[p1]=p2;
            ans1++;
            rest--;
            ans2=e[i].w;
        }
    cout<<ans1<<" "<<ans2;
    
        
    return 0;
    }
    

    相关文章

      网友评论

          本文标题:[水][最小生成树] vijos 繁华的都市

          本文链接:https://www.haomeiwen.com/subject/kkzwsxtx.html