@[_adil_](/user/747882) 你把 ```i = fa[i]``` 改成 ```i = find(i)``` 试试
by LJ07 @ 2023-08-05 16:06:04
我不好说你这样写复杂度是不是对的
by LJ07 @ 2023-08-05 16:06:39
@[LJ07](/user/312306) 改了还是不行...
by _adil_ @ 2023-08-05 16:16:19
find里面改成了
```cpp
int find(int x){
return fa[x]==x+1?x+1:fa[x]=find(fa[x]);
}
```
不死循环了,但还是t qwq
by _adil_ @ 2023-08-05 16:17:41
@[_adil_](/user/747882) 你写的根本就是错的,你这merge了啥啊
by LJ07 @ 2023-08-05 16:27:40
你第一次merge是这样的:merge(i,i+1) : fx=i+1 fy=i+2 fa[i+1]=i+2
你这改了什么值你说?你这不就是暴力吗?
by LJ07 @ 2023-08-05 16:29:19
话说谁家并查集初始化 fa[i]=i+1 的,你这个并查集维护起来不久很困难吗???你难到不能正经写 fa[i]=i 的初始化然后写点正经的做法/doge
by LJ07 @ 2023-08-05 16:30:49
错别字一堆/yun
by LJ07 @ 2023-08-05 16:33:27
@[LJ07](/user/312306) woc确实
by _adil_ @ 2023-08-05 17:27:42
草了 本来想搞一个 fa直接连下一个点的 没想到出这个bug
by _adil_ @ 2023-08-05 17:28:39