用微信微博网站来做睡眠经济,seo关键词推广方式,网站站长 感受,十堰市有几家网站公司嗯... 题目链接#xff1a;https://www.luogu.org/problemnew/show/P3367 并查集可以支持的操作#xff1a;“并”和“查”。然后这道题主要就是考察这两种操作。将每一个点的“父亲”初始化为自己#xff0c;然后分别进行“并”和“查”。 “并”#xff1a;用递归函数fin…嗯... 题目链接https://www.luogu.org/problemnew/show/P3367 并查集可以支持的操作“并”和“查”。然后这道题主要就是考察这两种操作。将每一个点的“父亲”初始化为自己然后分别进行“并”和“查”。 “并”用递归函数find来查找每一个点的父节点。然后将其中一个父节点设为另一个父节点的父亲即可。 “查”用递归函数find来查找每一个点的父节点。判断父节点是否相同即可。 AC代码 1 #includecstdio2 #includeiostream3 4 using namespace std;5 6 int f[100005];7 int x, y, z;8 9 inline int find(int x){
10 if(f[x] ! x)
11 f[x] find(f[x]);
12 return f[x];
13 }//递归求父节点即查
14
15 int main(){
16 int n, m;
17 scanf(%d%d, n, m);
18 for(int i 1; i n; i) f[i] i;
19 for(int i 1; i m; i){
20 scanf(%d%d%d, z, x, y);
21 if(z 1){
22 int r1 find(x);
23 int r2 find(y);
24 f[r1] r2;
25 }
26 else if(z 2){
27 int r1 find(x);
28 int r2 find(y);
29 if(r1 r2) printf(Y\n);
30 else printf(N\n);
31 }
32 }
33 return 0;
34 } AC代码 转载于:https://www.cnblogs.com/New-ljx/p/10846793.html