并查集
笑面蘑菇
这个作者很懒,什么都没留下…
展开
-
[caioj 1094] 并查集3(校园白社会)---带权并查集
题目描述 校园内有很多白社会团伙,他们专做好事。经过长期的卧底,学校有n个人,任何两个认识的人不是朋友就是敌人,而且满足:①我朋友的朋友是我的朋友;②我敌人的敌人是我的朋友。所有是朋友的人组成一个团伙。现在拥有关于这n个人的m条信息(即某两个人是朋友,或某两个人是敌人),请你计算出这个城市最多可能有多少个白社会团伙。 数据范围:2≤N≤2000,1≤M≤5000。 输入数据 第一行包...原创 2017-09-16 10:23:53 · 489 阅读 · 0 评论 -
并查集深化---删点操作 {仅记录方法,暂未找到例题}
问题:由于并查集是树型结构且有路径压缩的操作,所以无法直接删除节点,再维护树. 解决:将原节点设为虚点,并新建一个点,用num[]把原来的点映射到这个新点上,以后的操作都是对这个新点进行操作 {使用节点x时,将x改为num[x]}...原创 2017-09-16 08:34:43 · 217 阅读 · 0 评论 -
并查集的优化---路径压缩与启发式合并
并查集的优化分为两类:一种是 优化查找的路径压缩,一种是启发式合并(按集合大小合并与按秩(高)合并) 路径压缩 a.描述:如果查找的总路径过长,尤其是一条链的情况下,那么朴素的查找可能会超时。于是,每次在查找完根节点后,可以将查找路径上的节点直接指向根节点。 b.缺点:在一定程度上破坏了树的结构,也不便于记录其他的附加信息,如有特殊要求,请慎用(迫不得已,可进行特殊处理来维护)...原创 2017-08-15 11:15:33 · 1678 阅读 · 0 评论 -
[NOI2015]程序自动分析 --- 并查集
传送门:洛谷P1955 题目描述 在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足。 考虑一个约束满足问题的简化版本:假设x1,x2,x3…代表程序中出现的变量,给定n个形如xi=xj或xi≠xj的变量相等/不等的约束条件,请判定是否可以分别为每一个变量赋予恰当的值,使得上述所有约束条件同时被满足。例如,一个问题中的约束条件为:x1=x2,x2=x3,x3=x4,x4...原创 2018-07-18 16:33:10 · 128 阅读 · 0 评论