并查集向左合并与向右合并的区别?○| ̄|_

P1892 [BOI2003] 团伙

这不是按秩合并吗
by _LiM @ 2018-04-01 21:43:52


要是合并改了,那统计答案是不是也要改啊...
by 凌幽 @ 2018-04-01 21:47:13


哥啊你的fa[x]和fa[y]应该重开变量,覆盖了之前的x,y
by Jianuo_Zhu @ 2018-04-01 21:47:55


@[Jianuo_Zhu](/space/show?uid=30066) 您指的哪里?join函数中吗?不需要啊...换种方式统计答案不好吗?
by 凌幽 @ 2018-04-01 21:50:55


~~好像我也是学了个假并查集~~
by Jianuo_Zhu @ 2018-04-01 21:54:36


```cpp void Merge(int x, int y) { int f1 = Find(x); int f2 = Find(y); fa[f2] = f1; } ```
by Marginalin @ 2018-04-01 22:26:10


~~我也学了假并查集~~
by hellomath @ 2018-04-01 22:46:02


@[Marginalin](/space/show?uid=19741) ``` //我试过, //把 fa[find(x)] = find(y); //改成 fa[find(y)] = find(x); //同样会有上述问题, //应该就是因为向左、向右的关系。 ```
by Drifting @ 2018-04-02 21:00:56


@[Drifting](/space/show?uid=54877) 我一直都是把y的父亲指向x的父亲,,也没出过什么问题啊
by Marginalin @ 2018-04-03 21:46:29


@[Marginalin](/space/show?uid=19741) 理论上向左或向右是没有什么区别的,但是我在这个题中却遇到了这种问题... 玄学的很。
by Drifting @ 2018-04-04 18:35:42


| 下一页