厌氧代码求调

P3367 【模板】并查集

@[1_1_1_1_1_1_](/user/965334) 这能不超吗,一个链就死了,要路径压缩()
by Bingxiu @ 2023-08-26 11:07:43


@[1_1_1_1_1_1_](/user/965334) 把find改成路径优化即可,如: ```c++ int find(int t) { if(p[t]==t)return t; return p[t]=find(p[t]); } ```
by Yuzilihhh @ 2023-08-26 11:08:33


@[Yuzilihhh](/user/567522) 过了谢谢
by 1_1_1_1_1_1_ @ 2023-08-26 11:16:22


咱就是说,这样不更好吗? ```cpp #include<bits/stdc++.h> using namespace std; int n,m; int p[10001]; int find(int t) { if(p[t]==t) return t; return p[t]=find(p[t]); } void Union(int x, int y) { int f1,f2; f1=find(x); f2=find(y); p[f1]=f2; } int main() { int i; int num; int x,y; int f1,f2; cin>>n>>m; for(i=1;i<=n;i++) p[i]=i; for(i=0;i<m;i++) { cin>>num>>x>>y; if(num==1) p[find(x)]=find(y); else { if(find(x)==find(y)) cout<<"Y"<<endl; else cout<<"N"<<endl; } } return 0; } ```
by chengpengjin0908 @ 2023-08-27 19:58:03


狗头保命!!! 大佬不喜勿喷!!!
by chengpengjin0908 @ 2023-08-27 19:59:05


|