首页 > 其他 > 详细

洛谷 P1551 亲戚(并查集模板)

时间:2019-05-01 22:41:09      阅读:148      评论:0      收藏:0      [点我收藏+]

嗯...

 

题目链接:https://www.luogu.org/problemnew/show/P1551

 

思路:

很显然地我们会发现,这是一道并查集的模板题,并且是考察了并查集中的”并“和”查“的操作(好像所有关于亲戚的题都与并查集有关...

然后就是一个并查集的模板了,可以尝试记住(亏自己先会了最小生成树...

 

AC代码:

技术分享图片
 1 #include<cstdio>
 2 #include<iostream>
 3 
 4 using namespace std;
 5 
 6 int f[10000005];
 7 int a, b, c, d;
 8 
 9 inline int find(int x){
10     if(f[x] != x)
11         f[x] = find(f[x]);
12     return f[x];
13 } //“查”操作 
14 int main(){
15     int n, m, p;
16     scanf("%d%d%d", &n, &m, &p);
17     for(int i = 1; i <= n; i++)
18         f[i] = i;
19     for(int i = 1; i <= m; i++){
20         scanf("%d%d", &a, &b);
21         int r1 = find(a);
22         int r2 = find(b);
23         if(r1 != r2) 
24             f[r1] = r2; //“并”操作 
25     }
26     for(int i = 1; i <= p; i++){
27         scanf("%d%d", &c, &d);
28         int f1 = find(c);
29         int f2 = find(d);
30         if(f1 == f2) printf("Yes\n");
31         else printf("No\n");
32     }
33     return 0;
34 }
AC代码

 

洛谷 P1551 亲戚(并查集模板)

原文:https://www.cnblogs.com/New-ljx/p/10800945.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!