![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并查集
文章平均质量分 73
云深n不知处
古之成大事者,不唯有超世之才,亦唯有坚韧不拔之志也!
展开
-
并查集入门习题
并查集入门习题: A - 一张桌子到底坐了几个人! 544的100大寿马上就要来临了,现在他要举办一场宴席,邀请了各路来宾前来祝寿。无奈的是,544的退休金并不是很多,因此需要尽可能使得宴席的桌数少。 但是544的朋友们也很挑剔,他们不会跟陌生人坐在一起,但是却可以跟朋友的朋友坐在一起。 具体来说,如果A认识B,B认识C,C认识D,E认识F,那么A,B,C,D可以坐在一起,E和F可以坐在一起,这样安排的桌数是2。显然,E或F不能与A,B,C,D坐在一起。 由于544已经100岁了,脑袋不足以支持太过复杂的原创 2021-02-05 00:07:49 · 243 阅读 · 0 评论 -
并查集
并查集 并查集由三个部分组成:join(int x,int y)函数(用于将两个数合并)、find(int x) (用于查找X的根节点)、数组pre[] (表示为一个集合)。 初始化所有的点,即每个点都是一个集合,就让每个点都是自己的根节点 for(int i=1;i<=n;i++) pre[i]=i; find函数的定义与实现 int find(int x) //查找x的根节点 { while(pre[x] != x)//如果x的父节点不是x自己(也就是说找到的父节点不是根节点)原创 2021-02-03 23:58:01 · 181 阅读 · 0 评论