亲戚 -hydro
前置知识
并查集以及并查集的优化
分析
就是一道典 && 板的并查集模板,输入有亲戚关系的两个就把他们合并。当输入查询的时候,就查询两者的父亲是否相同,输出Y/N即可
代码
int fa[5010];
int my_find(int x){
return fa[x] == x ? x : fa[x] = my_find(fa[x]);//路径压缩
}
void merge(int x,int y){
fa[my_find(x)] = my_find(y);
return;
}
void solve()
{
int n, m, k;
cin >> n >> m >> k;
for (int i = 1; i <= n; i++)//一定要记得初始化,经常漏
fa[i] = i;
while (m--)
{
int x, y;
cin >> x >> y;
merge(x, y);
}
while(k--){
int x, y;
cin >> x >> y;
if(my_find(x) == my_find(y))
cout << "Yes" << endl;
else
cout << "No" << endl;
}
return;
}
last
“高山仰止,景行行止。'虽不能至,然心向往之。”
浙公网安备 33010602011771号