为什么最后三个数据超时了?求解,谢谢!

P3367 【模板】并查集

```cpp int find(int i) { if(a[i]!=i) a[i]=find(a[i]); return a[i]; } ```
by Tom_com @ 2017-03-23 18:44:29


应该考虑一下路径压缩问题。直接把你要合并的那个点指向别人就行了。 ```cpp - p=find(x); - q=find(y); - a[q]=p; - a[x]=p 这样的话会更加保险一些 ```
by Lyrics @ 2017-07-23 15:06:59


|