首页 > 其他分享 >并查集

并查集

时间:2024-07-09 19:57:57浏览次数:8  
标签:查集 指向 元素 合并 代表 集合

<2024.7.9>

  • 基本概念:主要用于解决一些元素分组的问题。它管理一系列不相交的集合,
    并支持两种操作:
    1. 合并(Union):把两个不相交的集合合并为一个集合。
    2. 查询(Find):查询两个元素是否在同一个集合中

  • 使用步骤
    1. 初始化,假设每个人指向自己
    2. 根据每个人的意向确定边的连接
    3. 选出一个集合的代表元素
    4. 根据代表元素进行路线压缩,直接指向代表元素

  • 功能使用
  1. 合并
    确切是否在统一集合
    在一个集合则不执行操作
    不在同一个集合则让新加入的元素指向代表元素
  2. 查找
    确认所属集合的代表是否相同

标签:查集,指向,元素,合并,代表,集合
From: https://www.cnblogs.com/Star-Echo-LearingLogs/p/18291524

相关文章

  • 并查集扩展应用
    并查集扩展应用A.货物运输题目描述有\(n\)座城市和\(m\)条双向道路。已知走过每条边所需要的汽油量,\(q\)次询问,求汽油量为\(l\)的车可以在多少对城市之间运送货物。(汽车到达城市会立刻把油全部加满)题解这道题没有强制在线,所以可以考虑进行离线。对于大小为\(n\)一......
  • HT-014 Div3 跳棋 题解 [ 黄 ] [ 并查集 ] [ 树型结构 ]
    分析依旧是一个连通块题。观察题面不难发现两个重要性质:一个跳棋只能以它旁边的两个跳棋为中点跳跃,且满足跳跃路线中除中点以外没有其它跳棋阻挡。只有我们的跳棋可以移动。跳棋的操作具有可逆性/对称性。第三条性质可以这么理解,就是一个跳棋跳过去之后,它还可以跳回来。......
  • 【并查集】浅谈思想 & 代码实现 & 实战例题(C/C++)
    思想综述并查集(Union-Find)算法的主要操作包括两种:合并(Union):将两个不相交的集合合并成一个集合。查询(Find):查询两个元素是否属于同一个集合。并查集算法的核心思想是使用树(通常是森林)来表示这些不相交的集合,其中每个集合被表示为一棵树,树的根节点代表这个集合的标识(或称为代表......
  • 可撤销并查集
    给定n个结点,q次询问,每次询问分为三类:1xy,将x和y两个点连通,如果已经连通则不操作。2,撤销上一次连通操作,如果全部撤销完了则不操作。3xy,询问x和y是否连通。对于每个询问3,输出结果YES或NO。提示:可销撤并查集,使用按秩合并或启发式合并,不能用路径压缩。合并时记录操作的结点......
  • C++U7-09-并查集
    并查集(DisjointSetUnion)是一种树型的数据结构,主要用于处理一些不相交集合(DisjointSets)的合并及查询问题。并查集能解决什么问题?在线游戏公会管理:应用场景:在一个大型多人在线游戏中,玩家可以创建或加入公会(公会相当于一个团队或群体)。随着时间的推移,公会可能会合并或解散。......
  • 并查集——朋友圈,部落问题
    7-2朋友圈分数25全屏浏览切换布局作者 DS课程组单位 浙江大学某学校有N个学生,形成M个俱乐部。每个俱乐部里的学生有着一定相似的兴趣爱好,形成一个朋友圈。一个学生可以同时属于若干个不同的俱乐部。根据“我的朋友的朋友也是我的朋友”这个推论......
  • 算法课程笔记——可撤销并查集
    算法课程笔记——可撤销并查集Gv......
  • 算法课程笔记——并查集基础
    算法课程笔记——并查集基础......
  • L2-013 红色警报(并查集)
    1.题目L2-013红色警报分数25全屏浏览切换布局作者陈越单位浙江大学战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城......
  • C130 并查集 P1197 [JSOI2008] 星球大战
    视频链接:  P1197[JSOI2008]星球大战-洛谷|计算机科学教育新生态(luogu.com.cn)//并查集#include<iostream>#include<cstdio>#include<cstring>usingnamespacestd;constintN=400005;inth[N],from[N],to[N],ne[N],idx;voidadd(intu,intv){from[......