并查集题解:合并之前,先问清楚关系会不会传递
并查集题解合并之前先问清楚关系会不会传递并查集适合解决“连通性”和“等价关系”问题。很多题一看到合并就想用并查集但并不是所有关系都能合并。使用前先问这个关系是否传递如果 A 和 B 同组B 和 C 同组是否能推出 A 和 C 同组并查集不是万能胶水。关系能传递才适合粘。一、并查集的核心操作并查集只有两个核心操作find 找代表union 合并集合。flowchart TD A[元素 x] -- B[find(x)] C[元素 y] -- D[find(y)] B -- E{代表是否相同} D -- E E --|否| F[union 合并] E --|是| G[已经连通]路径压缩和按秩合并让它非常快近似 O(1)。二、代码模板class DSU: def __init__(self, n): self.parent list(range(n)) self.rank [0] * n def find(self, x): if self.parent[x] ! x: self.parent[x] self.find(self.parent[x]) return self.parent[x] def union(self, a, b): ra, rb self.find(a), self.find(b) if ra rb: return False if self.rank[ra] self.rank[rb]: ra, rb rb, ra self.parent[rb] ra if self.rank[ra] self.rank[rb]: self.rank[ra] 1 return Trueunion返回是否真的合并很多题用它判断是否形成环。三、适用题型朋友圈、省份数量、冗余连接、岛屿数量、等式方程可满足性都很适合并查集。它们共同点是关系能传递。不适合的场景有方向依赖、最短路径、顺序约束。比如“谁先完成谁”这不是并查集合并能解决的。四、复杂度和边界初始化 O(n)每次 find/union 近似 O(1)。边界要注意编号从 0 还是 1 开始二维网格映射到一维时不要算错。idx r * cols c映射错了并查集会把毫不相干的格子合在一起结果很有喜剧效果但提交会很悲剧。并查集还常用于“等式和不等式”判断。先合并所有相等关系再检查不等关系是否冲突。顺序很重要不能边看边随便判断。def equationsPossible(equations): dsu DSU(26) for e in equations: if e[1:3] : dsu.union(ord(e[0])-97, ord(e[3])-97) for e in equations: if e[1:3] ! and dsu.find(ord(e[0])-97) dsu.find(ord(e[3])-97): return False return True这个例子能说明并查集的典型流程先建立等价类再验证约束。它不是用来求路径而是用来维护集合关系。五、总结并查集适合传递关系和连通性问题。核心是 find、union、路径压缩和按秩合并。合并之前先问清楚关系会不会传递。能传递放心粘不能传递换工具。

相关新闻

3分钟快速上手:Figma中文汉化插件终极指南

3分钟快速上手:Figma中文汉化插件终极指南

3分钟快速上手:Figma中文汉化插件终极指南 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 还在为Figma的英文界面感到困扰吗?作为中文设计师,面对复杂…

2026/7/3 22:22:34阅读更多 →
STM32F407VGT6驱动RGB LED矩阵的嵌入式系统设计

STM32F407VGT6驱动RGB LED矩阵的嵌入式系统设计

1. 项目概述:基于STM32F407VGT6的RGB LED矩阵控制系统 在嵌入式显示领域,RGB LED矩阵因其高亮度、色彩丰富和可编程特性,成为信息展示的理想选择。本项目采用STM32F407VGT6微控制器与Matrix RGB Click板(基于FT900芯片&#xff09…

2026/7/3 22:22:34阅读更多 →
2026年英文论文降AI用什么?Turnitin检测实测攻略

2026年英文论文降AI用什么?Turnitin检测实测攻略

中文论文降AI工具一大把,但英文论文呢? 特别是投SCI或者在海外读硕博的同学,Turnitin已经全面集成了AI检测功能。不少人投稿被拒,理由就是"AI-generated content detected"。 英文降AI工具不多,靠谱的更少。…

2026/7/3 22:17:34阅读更多 →
AI Agent技能组合架构设计与实战指南

AI Agent技能组合架构设计与实战指南

1. AI Agent技能组合的核心价值与挑战在构建复杂AI系统的实践中,我发现单一技能往往难以应对真实业务场景的需求。就像乐高积木一样,真正的价值在于如何将多个基础模块组合成功能完整的结构。Skill Composition(技能组合)技术正是…

2026/7/4 1:02:55阅读更多 →
专科生必学AI工具:8款实战推荐与避坑指南

专科生必学AI工具:8款实战推荐与避坑指南

1. 专科生如何应对AI时代的工具选择困境最近两年AI工具的爆发式增长,让很多专科院校的同学感到无所适从。作为在职业教育领域工作多年的从业者,我经常被问到:"老师,现在AI这么厉害,我们专科生学的东西还有用吗&am…

2026/7/4 1:02:55阅读更多 →
AI精准优化RNA翻译效率:仅修改9个关键位点提升60%蛋白产量

AI精准优化RNA翻译效率:仅修改9个关键位点提升60%蛋白产量

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Claude 随心用,限时 5 折。 👉 点击领海量免费额度 如果你是一名生物信息学研究员,或者正在开发基于mRNA的疫苗或疗法,那么你一定遇到过这个令人头疼的问题&…

2026/7/4 1:02:55阅读更多 →
计算图与反向传播:从工程视角理解深度学习训练核心机制

计算图与反向传播:从工程视角理解深度学习训练核心机制

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Claude 随心用,限时 5 折。 👉 点击领海量免费额度 很多人第一次接触反向传播时,都会陷入一个误区:以为它只是一个用来计算梯度的数学公式。于是,他…

2026/7/4 1:02:55阅读更多 →
基于Stable Diffusion的动漫场景AI还原:从提示词工程到多角色构图实践

基于Stable Diffusion的动漫场景AI还原:从提示词工程到多角色构图实践

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Claude 随心用,限时 5 折。 👉 点击领海量免费额度 这次我们来看一个基于AI图像生成技术还原经典动画场景的项目。核心目标是通过Stable Diffusion等文生图模型,将“哆啦A梦…

2026/7/4 1:02:55阅读更多 →
ACS MC4U-02100 自动化控制器模块

ACS MC4U-02100 自动化控制器模块

ACS MC4U-02100自动化控制器模块是以色列ACS Motion Control(艾运控制)推出的高性能多轴运动控制器,专为复杂运动控制应用设计。产品特点属于SPiiPlus系列产品。支持4轴控制,采用EtherCAT总线通讯。控制周期可短至100s。内置高性能…

2026/7/4 0:57:54阅读更多 →
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

2026/7/3 14:18:39阅读更多 →
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

2026/7/3 14:38:35阅读更多 →
端到端自动驾驶:从GTC‘26看工程可信落地的核心逻辑

端到端自动驾驶:从GTC‘26看工程可信落地的核心逻辑

1. 项目概述:当算法工程师走进GTC26展厅,看到的不是芯片,而是“端到端”的呼吸节奏“端到端”这三个字,在GTC’26现场出现的频率,高得像NVLink带宽测试时的峰值曲线——它不再是一个论文里的技术路径选项,而…

2026/7/4 0:02:48阅读更多 →
缺牙修复科普:常见义齿类型与选择参考

缺牙修复科普:常见义齿类型与选择参考

缺牙修复科普:常见义齿类型与选择参考牙齿缺失是中老年人群中较为常见的口腔问题,不仅会造成咀嚼不便、进食受影响,长期还可能对营养摄入与日常社交带来困扰。义齿是改善缺牙问题的常用方式,目前市面上的义齿种类较多,…

2026/7/4 0:02:48阅读更多 →
STM32F091RC与LTC6904实现高精度方波信号生成

STM32F091RC与LTC6904实现高精度方波信号生成

1. 项目概述:LTC6904与STM32F091RC的精准方波生成方案在嵌入式系统开发中,精确的时钟信号和定时控制往往是项目成败的关键。LTC6904作为一款低功耗、高精度的可编程振荡器芯片,与STM32F091RC这款ARM Cortex-M0内核微控制器的组合,…

2026/7/4 0:02:48阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/3 1:12:46阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/3 1:36:36阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/3 2:08:15阅读更多 →