树形结构 —— 并查集
【概述】
并查集(Union-Find Set)是一种用于分离集合操作的抽象数据类型,其处理的是集合(set)之间的关系,一般处理的是图的连通分量,当给出两个的元素的一个无序对 (a,b) 时,需要快速合并(union) a 和 b 所在的集合,这期间需要反复查找(find)某元素的集合。
当遇到有关物与物之间的关系,且这种关系是可传递的问题时,可以优先尝试用并查集解决。
【例题】
1.基础应用
- 畅通工程(HDU-1232):点击这里
- A Bug's Life(HDU-1829):点击这里
- The Suspects(POJ-1611):点击这里
- 亲戚(信息学奥赛一本通-T1346):点击这里
- 家庭问题(信息学奥赛一本通-T1362):点击这里
- 团伙(信息学奥赛一本通-T1385):点击这里
- 亲戚(信息学奥赛一本通-T1389):点击这里
- 連結 / Connectivity(AtCoder-2159):点击这里
2.带权并查集
- Dragon Balls(HDU-3635)(统计问题):点击这里
- Cube Stacking(POJ-1988)(统计问题):点击这里
- 打击犯罪(信息学奥赛一本通-T1386)(统计问题):点击这里
- How Many Answers Are Wrong(HDU-3038)(区间问题):点击这里
- 食物链(POJ-1182)(种类问题):点击这里
同题:食物链(信息学奥赛一本通-T1390):点击这里 - Rochambeau(POJ-2912)(种类问题):点击这里
- Zjnu Stadium(HDU-3047)(种类问题+向量计算):点击这里
- 搭配购买(信息学奥赛一本通-T1387)(带权并查集+01背包):点击这里
3.其他
- Tree(HDU-5060)(统计连通块中元素个数):点击这里
- Junk-Mail Filter(HDU 2473)(并查集删除操作):点击这里
- 格子游戏(信息学奥赛一本通-T1347)(块状并查集):点击这里
- Haybale Guessing (POJ-3657)(并查集+二分):点击这里
- Segment set(HDU-1558)(并查集+线段计算):点击这里
- Is It A Tree?(HDU-1325)(并查集+树的构建):点击这里
- 家谱(信息学奥赛一本通-T1388)(并查集+map):点击这里
- So Easy(2019 ACM-ICPC 徐州赛区网络赛 B)(并查集+unordered_map):点击这里
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?