@[Mistysun](/user/43763) `find` 函数换成这样。
```cpp
int find(int x) {
if (x != fa[x]) {
int tmp = fa[x];
fa[x] = find(fa[x]);
front[x] += front[tmp];
}
return fa[x];
}
```
就可以了。
因为合并 `x` 的数据要先处理出 `fa[x]` 的数据,所以要先递归求解再合并。
by Qiaoqia @ 2021-05-26 12:44:53
大神求教?明白了!您就是大神!
by chu_K @ 2021-05-26 12:47:51
大神求教?明白了!您就是大神!
by 边缘白鸟 @ 2021-05-26 12:49:37
大神求教?明白了!您就是大神!
by LYB23390 @ 2021-05-26 13:06:03
大神求教?明白了!您就是大神!
by SuHo_大水怪 @ 2021-06-23 12:40:56