并查集模板

void init(){for(int i=1;i<=maxx;i++)pre[i]=i;}//初始化
//注意如果序列内节点编号是大于n的,要初始化到最大,建议最开始初始化到最大
int Find(int x){return pre[x]==x?x:(pre[x]=Find(pre[x]));}//状态压缩+找最上面的祖先

void join(int x,int y){fx=Find(x);fy=Find(y);if(fx!=fy)pre[fx]=fy;}//加入合并

 

全部评论

相关推荐

hwwhwh:同双非,有大厂实习其实也没啥用,主要看运气,等就行了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务