求助并查集
查看原帖
求助并查集
287395
abc_de楼主2022/9/24 00:21

问一下这三种find写法为什么只有第一种是对的 谢谢

int find(int x){
	if(fa[x]==x) return x;
	int root=find(fa[x]);
	d[x]^=d[fa[x]];
	return fa[x]=root;
}
int find(int x){
	if(fa[x]==x) return x;
	fa[x]=find(fa[x]);
	d[x]^=d[fa[x]];
	return fa[x];
}
int find(int x){
	if(fa[x]==x) return x;
	d[x]^=d[fa[x]];
	fa[x]=find(fa[x]);
	return fa[x];
}
2022/9/24 00:21
加载中...