【复习记录】并查集
来源:互联网 发布:软件授权码破解 编辑:程序博客网 时间:2024/05/17 06:01
概念
并查集是一种树形的数据结构,处理集合的合并和查询。最基础的并查集问题就是关于亲戚关系的问题。
实现及优化
并查集的实现包括预处理、查询根节点、合并以及判断。
其中预处理是把所有点的父亲都指向自己,每个点的深度初始化为0.
查询根节点时用一行标准的路径压缩即可,将一棵树变成了菊花图。
另一个优化是按秩合并,将深度较小的树的父亲指向深度较深的树。但是有些情况下按秩合并并不适用,比如区间染色问题,只能按照一个方向染色。
应用
由于有更高深的应用,所以可能不会考亲戚关系这种赤果果的并查集。
应用的各种姿势:
1、虚点思想
例题:codevs 1069 关押罪犯
呐~现在才想明白这个
这是样例:
4 6
1 4 2534
2 3 3512
1 2 28351
1 3 6618
2 4 1805
3 4 12884
排序之后:
1 2 28351
3 4 12884
1 3 6618
2 3 3512
……后面用不到
合并过程:
①:1∈2+n,2∈1+n;
②:3∈4+n,4∈3+n;
③:1∈3+n,3∈1+n;
接下来应该合并2和3,但是发现第①步和第③步已经将2和3分别跟1合并过了,所以从这里开始不合法。
好智障啊QWQ
虚点的时候要开两倍的并查集,初始化的时候for到n*2.
2、区间染色问题
例题:codevs 1191 数轴染色
洛谷 2898 [USACO08JAN]haybale猜测Haybale Guessing
对一段区间进行染色时,将这段区间内的所有点都合并到左端点的左边或右端点的右边。这样很机智地避免了重复合并。
区间染色问题不能使用按秩合并
3、
阅读全文
1 0
- 【复习记录】并查集
- [数据结构复习]并查集
- hdu1213(并查集复习)
- hdu1198 并查集(值得复习)
- 复习并查集(hihocoder1066)
- 蒟蒻复习之-----并查集
- 并查集--学习记录
- 并查集算法学习记录
- poj_1611_并查集 题解记录
- 数据结构复习----并查集:poj Ubiquitous Religions
- 数据结构复习-数组、广义表、递归、哈夫曼数/并查集
- [算法第一轮复习] 并查集 + 路径压缩
- [省赛复习] 带权并查集
- POJ 1182 食物链 (并查集)(需复习!!)
- 《并查集》hdu acm 5.1.5 记录转移次数
- hdoj--3635--Dragon Balls(并查集记录深度)
- POJ 1611 记录节点数的并查集
- L2-007. 家庭房产(并查集+结构体记录)
- Matrix Cookbook 公式推导
- kali 2.0 2017源更新记录【关于中文输入法】
- session与cookie的区别
- 算法导论(六)——扩充的数据结构的应用
- Skyline TE加载地形服务
- 【复习记录】并查集
- android 之 读取本地json文件返回string
- Pat 1008. 数组元素循环右移问题 (20)
- EasyUI实现日期时间输入标签只可以输入日期
- Effective Java阅读笔记
- python list存放对象,按对象某个属性排序
- 生成式和生成器 、迭代器、装饰器
- 修改Orcale数据库的序列的当前值LastNumber(LAST_NUMBER)
- 关于Java的Semaphore以及Android的Looper使用