int pre[N]; int fnd(int x) { int r=x; while(pre[r]!=r) r=pre[r]; int i=x,j; while(i!=r) { j=pre[i]; pre[i]=r; i=j; } return r; } void join(int x,int y) { x=fnd(x),y=fnd(y); if(x!=y) pre[x]=y; }
posted on 2015-09-05 10:39 恶devil魔 阅读(118) 评论(0) 收藏 举报
博客园 © 2004-2025 浙公网安备 33010602011771号 浙ICP备2021040463号-3