码迷,mamicode.com
首页 > 其他好文 > 详细

[模板]并查集

时间:2018-02-18 10:34:19      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:cli   gis   line   分享   www   space   sed   click   tps   

https://www.luogu.org/problemnew/show/P3367

//据说根本不用按秩合并,随机将x合并到y/y合并到x就可以了

技术分享图片
 1 // luogu-judger-enable-o2
 2 #include<bits/stdc++.h>
 3 using namespace std;
 4  
 5 #define lop(i,a,b) for(register int i = (a); i <= (b); ++i)
 6 #define getchar() (*p1++)
 7 char buf[3000004],*p1=buf;
 8 const int N = 10005;
 9 inline int read(){
10        register int c = getchar(), x = 0;
11        while(!isdigit(c)) c = getchar();
12        while(isdigit(c)) x = (x<<3)+(x<<1)+(c^48), c = getchar();
13        return x;
14 }
15 int n, Q, fa[N], ch[300005]; 
16 
17 inline int find(int x){
18     while(x!=fa[x])x=fa[x]=fa[fa[x]];return x;
19 }
20 
21 int main(){
22     fread(buf, 1, 3000000, stdin);
23     n = read(), Q = read();
24     lop(i,1,n)fa[i]=i;
25     while(Q--){
26         int opt = read(), x = read(), y = read();
27         x = find(x), y = find(y);
28         if(opt == 1) fa[x] = y;
29                 else puts(x==y?"Y":"N");
30     }
31     return 0;
32 }
View Code

 

[模板]并查集

标签:cli   gis   line   分享   www   space   sed   click   tps   

原文地址:https://www.cnblogs.com/Ycrpro/p/8452498.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!