要更新被合并的点 合并后 指向的 新根节点
```cpp
fa[rt] = fa[l[rt]] = fa[r[rt]] = merge(l[rt], r[rt]);
```
还有,值相同时先加的先删除
```cpp
if (v[x] > v[y] || (v[x] == v[y] && x > y))
swap(x, y);
```
by Arson1st @ 2023-11-07 12:28:31
@[Arson1st](/user/767765)
哦哦哦,突然懂了!因为并查集的原因,堆里面可能还有部分元素指向要`del`的根,所以直接改是不可取的,还是得通过这种方法来换根!太巧妙力!谢谢谢谢!
此贴终...
by _venti @ 2023-11-07 21:46:49
%%%
by sketchi @ 2023-11-08 12:35:33