Kruskal重构树

news/2024/9/30 15:36:19

Kruskal 重构树

定义

在跑 Kruskal 的过程中我们会从小到大加入若干条边。现在我们仍然按照这个顺序。

首先新建 \(n\) 个集合,每个集合恰有一个节点,点权为 \(0\)

每一次加边会合并两个集合,我们可以新建一个点,点权为加入边的边权,同时将两个集合的根节点分别设为新建点的左儿子和右儿子。然后我们将两个集合和新建点合并成一个集合。将新建点设为根。

不难发现,在进行 \(n-1\) 轮之后我们得到了一棵恰有 \(n\) 个叶子的二叉树,同时每个非叶子节点恰好有两个儿子。这棵树就叫 Kruskal 重构树。

举个例子:

这张图的 Kruskal 重构树如下:

性质

不难发现,原图中两个点之间的所有简单路径上最大边权的最小值 = 最小生成树上两个点之间的简单路径上的最大值 = Kruskal 重构树上两点之间的 LCA 的权值。

也就是说,到点 \(x\) 的简单路径上最大边权的最小值 \(\leq val\) 的所有点 \(y\) 均在 Kruskal 重构树上的某一棵子树内,且恰好为该子树的所有叶子节点。

我们在 Kruskal 重构树上找到 \(x\) 到根的路径上权值 \(\leq val\) 的最浅的节点。显然这就是所有满足条件的节点所在的子树的根节点。

如果需要求原图中两个点之间的所有简单路径上最小边权的最大值,则在跑 Kruskal 的过程中按边权大到小的顺序加边。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/55830.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

IDEA 莫名选中当前光标下的行

发现 IDEA 莫名选中当前行,具体来说,在行与行之间来回点,有时候会选中当前光标所在的行。 还以为是装了什么 plugin 导致的,最后发现是因为钉钉最近上了个 AI 助理的功能:像上图那样取消勾选就没出现这个问题了。

RAM和ROM详解

RAM和ROM详解 前言 RAM与ROM是计算机中常见的存储器类型,它们在数据存储和访问方面扮演着重要的角色。 RAM(Random Access Memory)是一种临时存储器,用于存储计算机正在运行的程序和数据。它具有快速的读写速度和随机访问的特点。 相比之下,ROM(Read-Only Memory)是一种…

相机成相之像距、物距、焦距

物距---被拍摄物体到凸透镜的距离。像距---成像平面到凸透镜的距离。焦点---通过凸透镜的、平行主光轴的光线,在主光轴上的会聚点。焦距---凸透镜中心到焦点的距离。焦距固定的是定焦镜头,焦距可以调节的是变焦镜头。焦距、物距、像距最基本的关系可以用高斯成像公式表示:因…

CSP2024考前集训记录

CSP2024考前集训记录 2024.9.2 上午 高一学长供的题。A题 开考5分钟想到枚举 \(a\) 后再枚举 \(d=\gcd(b,c)\) 后转化为求 \(\varphi(\frac{b+c}{d})\),直接上线性筛。 然后时间复杂度 \(O(n \sqrt n)\),瓶颈在枚举 \(b+c\) 的因数上。 于是后半个比赛全在想怎么优化,想到的…

光学公式(物象位置) 1/u+1/v=1/f

1.透镜成像 由图可以看出 1.物距>2倍焦距:倒立缩小的像2.物距=2倍焦距:倒立等大的像3.物距<2倍焦距 且 >1倍焦距:倒立放大的像4.物距=1倍焦距:不成像5.物距<1倍焦距:倒立放大虚像同时也可以看出成像越大,像距越近。 成实像时,物体和像在透镜两侧;成虚像时,…

南沙信奥老师解题:1352:【例4-13】奖金

​【题目描述】由于无敌的凡凡在2005年世界英俊帅气男总决选中胜出,Yali Company总经理Mr.Z心情好,决定给每位员工发奖金。公司决定以每个人本年在公司的贡献为标准来计算他们得到奖金的多少。 于是Mr.Z下令召开m方会谈。每位参加会谈的代表提出了自己的意见:“我认为员工a的…

MediatR实现高效信息传递,以.net8做demo演示

MediatR 是 .NET 下的一个实现消息传递的库,轻量级、简洁高效,用于实现进程内的消息传递机制。它基于中介者设计模式,支持请求/响应、命令、查询、通知和事件等多种消息传递模式。通过泛型支持,MediatR 可以智能地调度不同类型的消息,非常适合用于领域事件处理。 我们将定…

Redis组件介绍(五)

今天继续学习redis后面的知识。写在前面 今天继续学习redis后面的知识。 Redis 哨兵机制 哨兵 Sentinel 机制 Sentinel(哨兵)是 Redis 的高可用性解决方案。由一个或多个 Sentinel 实例组成的 Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器。当…