int find(int x) // 并查集
{
if (p[x] != x) p[x] = find(p[x]);
return p[x];
}
不用循环写,是因为这个代码更快。为什么更快?因为采用了路径压缩。见下图理解一下。
int find(int x) // 并查集
{
if (p[x] != x) p[x] = find(p[x]);
return p[x];
}
不用循环写,是因为这个代码更快。为什么更快?因为采用了路径压缩。见下图理解一下。