普及基础 - “似诉平生不得志”
2026-07-16 07:42:31
发布于:浙江
自主学习笔记类产物
———————————————————————————————————————————
集合

并查集模板:
#include<bits/stdc++.h>
using namespace std;
const int N=5e3+5;
int a[N];
int f(int x){
return (x==a[x])?a[x]:a[x]=f(a[x]);
}
int main(){
int n,m,p;
cin>>n>>m>>p;
for(int i=1;i<=n;i++)a[i]=i;//
for(int i=1;i<=m;i++){
int x,y;
cin>>x>>y;
a[f(x)]=f(y);
}
for(int i=1;i<=p;i++){
int x,y;
cin>>x>>y;
if(f(x)==f(y))cout<<"Yes\n";
else cout<<"No\n";
}
return 0;
}
弄并查集的时候记得要把初始化掉。
这里空空如也












有帮助,赞一个