zoukankan      html  css  js  c++  java
  • cdoj1215 (并查集)

    从小到大排序,判断连通。

     1 #include<stdio.h>
     2 #include<string.h>
     3 #include<algorithm>
     4 using namespace std;
     5 int n,m,u[1000005],v[1000005],w[1000005],r[1000005],p[1005];
     6 int cmp(const int i,const int j)
     7 {
     8     return w[i]<w[j];
     9 }
    10 int find (int x)
    11 {
    12     if(p[x]==x)
    13     return x;
    14     else return p[x]=find(p[x]);
    15 }
    16 int kruskal()
    17 {
    18     int ans=0;
    19     for(int i=0;i<=n;i++) p[i]=i;
    20     for(int i=0;i<m;i++) r[i]=i;
    21     sort(r,r+m,cmp);
    22     for(int i=0;i<m;i++)
    23     {
    24         int e=r[i];int x=find(u[e]);int y=find(v[i]);
    25         if(x!=y)
    26         {
    27             ans+=w[e];
    28             p[x]=y;
    29         }
    30 
    31     }
    32     return ans;
    33 }
    34 int main()
    35 {
    36     int T;
    37     scanf("%d",&T);
    38     while(T--)
    39     {
    40         scanf("%d%d",&n,&m);
    41         for(int i=0;i<m;i++)
    42         scanf("%d%d%d",&u[i],&v[i],&w[i]);
    43         printf("%d
    ",kruskal());
    44     }
    45     return 0;
    46 }
  • 相关阅读:
    USACO Spinning Wheels
    USACO Agri-Net
    NOIP 2009 最优贸易
    USACO Cow Contest
    USACO Subset Sums
    USACO Cow Cars
    USACO Making the Grade
    NOIP 2008 传纸条
    NOIP 2000 方格取数
    NOIP 1999 导弹拦截
  • 原文地址:https://www.cnblogs.com/Acgsws/p/3216773.html
Copyright © 2011-2022 走看看