码迷,mamicode.com
首页 > 其他好文 > 详细

并查集模板

时间:2020-01-26 17:28:04      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:合并   ima   info   inf   mamicode   并查集   width   ati   alt   

并查集

1.合并两个集合

2.查询两个数是否在一个集合

基本原理:

每个集合用一棵树来表示,树根的编号就是整个集合的编号,每个结点存储他的父节点,p[x]表示x的父节点

1.是否是一个集合 if( find(a)==find(b) )

2.合并两个集合 p[find(a)]=find(b) 

        static int p[]=new int[N];
        static int find(int x){ //返回x的祖宗结点+路径压缩
                if(p[x]!=x) p[x]=find(p[x]);
                return p[x];
        }

技术图片

 

并查集模板

标签:合并   ima   info   inf   mamicode   并查集   width   ati   alt   

原文地址:https://www.cnblogs.com/qdu-lkc/p/12234386.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!