摘要: 并查集:我们知道p[x]中存储的是x的根节点,或者说,我们要的目的是所有在一棵树上的节点,他们的p[x]必须是相同的并查集的代码很简单,但在使用时很难达到上述结果,或者说,稍有不慎,就会出错。也许你会说我只要判断find(i)==find(1)都成立就好了,但这往往只能判断一个连通集的问题。所以具体的方法是什么?我们先描述方法,再证明。步骤:int find(int x){return x==p[x]?x:p[x]=find(p[x]);}read(u,v);f1=find(u);f2=find(v);if(f1!=f2) p[f2]=f1;for(i=1;i13423结果: x 1 2 .. 阅读全文
posted @ 2013-10-24 12:46 little_w 阅读(137) 评论(0) 推荐(0)