zoukankan      html  css  js  c++  java
  • 【带权并查集】HDU 3047 Zjnu Stadium

    http://acm.hdu.edu.cn/showproblem.php?pid=3047

    【题意】

    http://blog.csdn.net/hj1107402232/article/details/9921311

    【Accepted】

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<string>
     5 #include<cmath>
     6 #include<algorithm>
     7 #include<queue>
     8 #include<stack>
     9 #include<map>
    10 using namespace std;
    11 
    12 int n,m;
    13 const int maxn=5e4+2;
    14 const int inf=0x3f3f3f3f;
    15 int fa[maxn];
    16 int rk[maxn];
    17 void init()
    18 {
    19     for(int i=1;i<=n;i++)
    20     {
    21         fa[i]=i;
    22     }
    23 }
    24 
    25 int find(int x)
    26 {
    27     if(x==fa[x]) return  fa[x];
    28     int fx=find(fa[x]);
    29     rk[x]+=rk[fa[x]];
    30     return fa[x]=fx;
    31 }
    32 
    33 void mix(int x,int y,int d)
    34 {
    35     int fx=find(x);
    36     int fy=find(y);
    37     if(fx!=fy)
    38     {
    39         rk[fy]=rk[x]-rk[y]+d;
    40         fa[fy]=fx;
    41     }
    42 }
    43 
    44 int query(int x,int y)
    45 {
    46     int fx=find(x);
    47     int fy=find(y);
    48     if(fx==fy)
    49     {
    50         return rk[y]-rk[x];
    51     }
    52     else
    53     {
    54         return inf;
    55     }
    56 }
    57 
    58 int main()
    59 {
    60     while(~scanf("%d%d",&n,&m))
    61     {
    62         init();
    63         memset(rk,0,sizeof(rk));
    64         int A,B,x;
    65         int cnt=0;
    66         for(int i=0;i<m;i++)
    67         {
    68             scanf("%d%d%d",&A,&B,&x);
    69             int d=query(A,B);
    70             if(d==inf) 
    71             {
    72                 mix(A,B,x);
    73             }
    74             else if(d!=x)
    75             {
    76                 cnt++;
    77             }
    78         }
    79         printf("%d
    ",cnt);
    80     }
    81     return 0;
    82 }
    带权并查集
  • 相关阅读:
    JS小功能系列9商品筛选
    JS小功能系列8省市联动
    if u
    js属性
    js初识
    弹性盒
    项目合作
    css重置
    关于响应式布局
    自我定位
  • 原文地址:https://www.cnblogs.com/itcsl/p/7261009.html
Copyright © 2011-2022 走看看