并查集
Continist
这个作者很懒,什么都没留下…
展开
-
PTA-----红色警报【并查集,连通块,类似图】
红色警报 (25 分)战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。输入格式:输入在第一行给出两个整数N(0 < N ≤ 500)和M(≤ 5000),分别为城市个数(于是默认城市从0到N-1编号)和连接两城市的通路条数。随...原创 2021-04-10 23:48:18 · 153 阅读 · 0 评论 -
并查集模板题之压缩路径---家族关系
题目:分析:这也是一道并查集的模板题,但是区别于上一道更简单的模板题----->上一题较简单模板题链接我们这次需要使用路径压缩,因为题目数据比较大且符合路径压缩的需求,具体压缩方式如图:我们将每个节点的父亲节点都让它成为这个集合的老祖宗节点,这样在遍历集合个数的时候就可以直接找到它的老祖宗是否一样来判定他们是否有血缘关系;具体内容如下代码实现:#include"iostream"//本代码主要分析路径压缩,详细参照上述链接模板题using namespace std;const int原创 2021-04-10 23:16:41 · 107 阅读 · 0 评论 -
并查集模板题—好朋友
题目描述:题目摘至《算法笔记》分析:此题为并查集的模板题,我们先来讲讲何谓并查集,顾名思义合并起来查找的集合,其实并查集可以这样理解(在此之前我们先来看看数组和链表的优缺点)数组与链表的优缺点;数组:优点:使用方便 ,查询效率 比链表高,内存为一连续的区域 缺点:大小固定,不适合动态存储,不方便动态添加链表: 优点:可动态添加删除 大小可变 缺点:只能通过顺次指针访问,查询效率低而并查集正好结合了这两这的优点,使用方便,便于查询,且可以动态存储。下面我们来分原创 2021-04-10 22:59:43 · 174 阅读 · 0 评论