首页 > 其他分享 >树的直径,树的中心性质整理

树的直径,树的中心性质整理

时间:2023-04-23 18:12:42浏览次数:43  
标签:一个点 leftrightsquigarrow 端点 几何 整理 直径 sim 性质

本文中,设树中所有权都是正的。

直径的定义:不经过同一个点两次的最长链。

中心的定义:对于点 \(u\),如果满足所有点到点 \(u\) 距离的最大值最小,则点 \(u\) 是中心。

请注意树的中心和树的重心是两个不同的概念。

本文中 \(u \sim v\) 代表树上 \(u \leftrightsquigarrow v\) 唯一路径的权值。

性质一

如果一个点 \(u\) 在一条直径 \(D\) 上,\(D\) 的端点是 $ s$ 和 $ t$,那么 \({u \leftrightsquigarrow s}\) 和 \({u \leftrightsquigarrow t}\) 中较长的一定是一条从 \(u\) 出发的最长链。

假设存在一条链 \(u \leftrightsquigarrow w\) 比 \(u \leftrightsquigarrow s\) 和 \(u \leftrightsquigarrow t\) 都长。

因为 \(s\),\(u\),\(t\) 依次位于一条链上(直径显然是链),

所以 \(u \leftrightsquigarrow w\) 如果和 \(u \leftrightsquigarrow s\) 有交点,就一定和 \(u \leftrightsquigarrow t\) 无交点(否则会出现环)。

如果 \(u \leftrightsquigarrow w\) 与 \(u \leftrightsquigarrow s\) 没有交点,那么 \(s \leftrightsquigarrow u \leftrightsquigarrow w\) 才应该是直径。

如果 \(u \leftrightsquigarrow w\) 与 \(u \leftrightsquigarrow t\) 没有交点,那么 \(t \leftrightsquigarrow u \leftrightsquigarrow w\) 才应该是直径。

反正无论如何都和 \(D\) 是直径矛盾。命题成立。

性质二

从任意一个点出发,能到达的最远点一定是某条直径的端点。

下面这个图中,我们从 \(x\) 找到最远的点 \(y\),并设原树直径为 \(m \leftrightsquigarrow n\)。

性质三

直径的端点一定都是叶子节点。

如果直径的端点不是叶子节点,即有两个出度及以上,那么直径这条链只会占用一个出度,一定可以从另一个出度继续走下去从而达到更长的链。

性质四

用一条边 \({(u, v)}\) 将两棵树 \({T_1}\),\({T_2}\) 连接,合成的新树 \(T\) 的所有直径都只有两种情况:

  • 不经过 \({(u, v)}\),仍为原来 \({T_1}\) 的某条直径,或仍为原来 \({T_2}\) 的某条直径。
  • 经过 \({(u, v)}\),两个端点分别落在 \({T_1}\) 和 \({T_2}\) 中,且分别是 \({T_1}\),\({T_2}\) 中某条直径的某个端点。

不经过 \((u, v)\),即新直径只能在 \(T_1\) 或 \(T_2\) 中走,很明显它必须是 \(T_1\) 的一条直径或 \(T_2\) 的一条直径。

经过 \((u, v)\),则设新直径为 \(s \leftrightsquigarrow u \longleftrightarrow v \leftrightsquigarrow t\)。

不妨设 \(s \leftrightsquigarrow u\) 这段在 \(T_1\) 中,\(v \leftrightsquigarrow t\) 这段在 \(T_2\) 中。为符合直径定义,我们期望最大化 \(s \leftrightsquigarrow u\) 和 \(v \leftrightsquigarrow t\)。

为此,必须在 \(T_1\) 中找一个离 \(u\) 最远的某个点作为 \(s\),在 \(T_2\) 中找一个离 \(v\) 最远的点作为 \(t\)。

根据之前的性质,\(s\) 肯定是 \(T_1\) 中某条直径的端点;\(t\) 肯定是 \(T_2\) 中某条直径的端点,证毕。

性质五

一棵树上,一定存在一个点 \(p\) 被这棵树的所有直径经过。

假设树存在两根不相交的直径 \(a \leftrightsquigarrow b\) 和 \(c \leftrightsquigarrow d\)。直径长度相同,\((a \sim b) = (c \sim d)\)。

因为树的结构,所以 \(a \leftrightsquigarrow b\) 上一定存在一个点 \(p\),\(c \leftrightsquigarrow d\) 上一定存在一个点 \(q\),满足 \(p\) 和 \(q\) 连通且 \(p \leftrightsquigarrow q\) 和 \(a \leftrightsquigarrow b\) 和 \(c \leftrightsquigarrow d\) 都不相交。

不妨设 \((a \sim p) \ge (b \sim p)\)(否则交换一下 \(a\) 和 \(b\) 就好了),\((c \sim q) \ge (d \sim q)\)(同理)。

那么 \((a \sim p) \ge \dfrac 1 2(a \sim b)\),\((c \sim q) \ge \dfrac 1 2(c \sim d) = \dfrac 1 2 (a \sim b)\),所以 \((a \sim p) + (c \sim q) \ge (a \sim b)\)。

因为边权是正的,所以 \((p \sim q) > 0\),因此有 \((a \sim p) + (p \sim q) + (q \sim c) > (a \sim b)\)。

因此 \(a \leftrightsquigarrow b\) 不是直径,与题设矛盾。

因此任意两条直径都存在一个交点。

由于是树,所以三条直径两两相交不交于同一点这种情况不可能成立(会成环)。所以只能多条直径同时交于一个点,证毕。

性质六

任意两条直径一定有且仅有一个极长连续段(可以只是一个点)重合。若两条直径共用一个端点,这个端点也算重合。

首先任意两条直径之间一定有交点,一个点也是一个连续段,所以一定会有一个连续段重合。

其次如果有两个极长重合连续段,如下(\(a \leftrightsquigarrow b\) 和 \(c \leftrightsquigarrow d\) 为两条直径):

会出现环,这是树上不能出现的。

所以任意两条直径其实只有两种形态:X 形态和 Y 形态。

X 形态:两条直径的四个端点都互异,如下(\(a \leftrightsquigarrow b\) 和 \(c \leftrightsquigarrow d\) 为两条直径):

Y 形态:两条直径共用一个端点,如下(\(a \leftrightsquigarrow b\) 和 \(a \leftrightsquigarrow c\) 为两条直径)。

啥,你问能不能共用俩端点?那就成完全重合的两条直径了,看成一条就行了。

性质七

对于树上任意两条直径,从中间重合段的任意一个端点出发,引申出来的直径剩余的部分长度相同。

上述表述有点抽象。解释一下。\(a \leftrightsquigarrow b\) 和 \(c \leftrightsquigarrow d\) 为两条直径。

对于上面这样两条直径,有 \((a \sim p) = (c \sim p)\) 且 \((b \sim q) = (d \sim q)\)。下面开始证明。

根据直径长度相同,\((a \sim b) = (c \sim d)\),所以 \((a \sim p) + (p \sim q) + (q \sim b) = (c \sim p) + (p \sim q) + (q \sim d)\)。我们称之为直径等长式。

根据直径等长式,\((a \sim p) = (c \sim p) \iff (b \sim q) = (d \sim q)\)。因此下面只需证明 \((a \sim p) = (c \sim p)\)。

不妨设 \((a \sim p) > (c \sim p)\)(如果小于就交换 \(a\) 和 \(c\),再同时交换 \(b\) 和 \(d\),这样 \(a \leftrightsquigarrow b\) 和 \(c \leftrightsquigarrow d\) 仍是两条直径)。

又根据直径等长式,可以得到 \((q \sim b) < (q \sim d)\)。

所以有 \((a \sim p) + (p \sim q) + (q \sim d) > (a \sim p) + (p \sim q) + (q \sim b)\),也即 \((a \sim d) > (a \sim b)\)。

那么 \(a \leftrightsquigarrow b\) 一定不是直径,矛盾。

上面是以 X 型为例的。Y 型可以看成是钦定 \((a \sim p) = (c \sim p) = 0\) 的 X 型,上述证明同样成立。

所以对 X 型的证明已经包含了对 Y 型的证明,后面相关证明将会省略 Y 型。

性质八

定义一条直径的几何中心为直径上唯一的一个点(这个点不一定是原树上的点,而可以落在这条直径的一条边上,将这条边分成任意大小比例的两段),满足它到直径两个端点的距离相同。则,一棵树上所有直径的几何中心都重合在一个点。

注:为了方便后面的叙述,我们将原树上的点正常称作”点“,将可以落在树边上任意比例将边切成两端的点称作”几何点“。

设树上存在两条直径 \(a \leftrightsquigarrow b\) 和 \(c \leftrightsquigarrow d\),中点分别为 \(i\) 和 \(j\)。

假设 \(i\) 不在 \(a \leftrightsquigarrow b\) 和 \(c \leftrightsquigarrow d\) 的重合段 \(p \leftrightsquigarrow q\) 上。

不妨设 \(i\) 在 \(a \leftrightsquigarrow p\) 上。如果 \(i\) 在 \(b \leftrightsquigarrow q\) 上,考虑同时交换 \(a\) 和 \(b\),\(c\) 和 \(d\),\(p\) 和 \(q\)。

\((a \sim b) = (c \sim d)\),根据中点的性质又有 \((a \sim i) = (i \sim b) = (c \sim j) = (j \sim d) = \dfrac 1 2(a \sim b) = \dfrac 1 2(c \sim d)\)。

所以 \((a \sim b) = (a \sim i) + (i \sim j) + (j \sim b) = (a \sim b) + (i \sim j) > (a \sim b)\)。所以 \(a \leftrightsquigarrow b\) 不是直径,矛盾。

因此 \(i\) 一定在这个 \(p \leftrightsquigarrow q\) 的重合段上,绘图如下:

很明显 \((a \sim b) = (c \sim d)\),所以 \((a \sim i) = (c \sim j)\)。

而刚刚已经证明过 \((a \sim p) = (c \sim p)\),所以 \((a \sim i) - (a \sim p) = (c \sim j) - (c \sim p)\),即 \((p \sim i) = (p \sim j)\)。

因为 \(i\) 没有超出重合段,所以 \(j\) 也没有超出,同时和 \(p\) 的距离也相等,因此 \(i\) 和 \(j\) 重合,结论得证。

如此以来,我们不妨设所有直径共同的那个几何中心称作 树的几何中心。接下来,我们探求树的几何中心的性质。

性质九

对于任一直径上的几何点,其到这条直径两条端点距离的最大值等于其到树中任意点距离的最大值。

当这个“几何点”就在原图上的某个点时,与性质一等价。

否则,设几何点是 \(p\),就直接把 \(p\) 当做一个新点按在原树上。

如果原先 \(p\) 在点 \(u\) 和点 \(v\) 之间,则将 \(p\) 当做一个点,只和 \(u\) 与 \(v\) 有连边。

\(p\) 与 \(u\) 连边的权值等于 \(p\) 原先将 \((u, v)\) 这条边的边权分成的两部分中,\((p, u)\) 这部分的权值。

\(p\) 与 \(v\) 连边的权值为另一侧 \((p, v)\) 这部分的权值。

很明显这不会影响到原树上的直径(硬说影响,只会让直径多一个点)。按照性质一的思路证明即可。

性质十

在树上与所有点的最大距离最小的几何点唯一,恰为树的几何中心,其与所有点的距离最大值为树的直径的一半(称作半径)。

根据性质九,树的几何中心 \(c\) 到所有点的距离最大值等于其到直径两条端点距离的最大值,恰好是半径。

设一个不为几何中心 \(c\) 的几何点 \(p\)。

如果几何点 \(p\) 在直径上,因为 \(p \ne c\),其到某个端点的距离一定大于半径,那么其到所有点距离最大值也一定严格大于半径,严格比 \(c\) 劣。

如果几何点 \(p\) 不在直径上。

考虑将 \(c\) 删除,具体地:

  • 如果 \(c\) 是原树上的一个点,直接将树上的这个点以及关联边删除。
  • 如果 \(c\) 在原树的一个边上(且不在点上),将树上的这条边删除。

那么,因为所有直径都经过 \(c\),任意一条直径的两条端点将不再联通。

任取一条直径,设端点为 \(s\) 和 \(t\)。由于 \(s\) 和 \(t\) 不再联通,所以 \(p\) 至少和 \(s\) 和 \(t\) 中的某个点不再联通,不妨设为 \(s\)。

因为删除几何点 \(c\) 后 \(p\) 和 \(s\) 不再联通,所以 \(p \leftrightsquigarrow s\) 这条路径一定经过 \(c\),即可以表示为 \(p \leftrightsquigarrow c \leftrightsquigarrow s\)。

很明显 \((p \sim c) > 0\),所以 \((p \sim s) > (c \sim s)\),\(p\) 到 \(s\) 的距离大于半径,到所有点距离最大值也势必大于半径,严格比 \(c\) 劣。

证毕。

因此,

  • 任意一条直径的几何中心。
  • 树上到所有点最大距离最小的几何点。

上面这两种说法是等价的,描述的几何点都是唯一的一个几何点,它的名字叫树的几何中心。

性质十一

定义树的中心为,距离所有点最大距离最小的点。则,

  • 如果一棵树的几何中心恰好为原树上的一个点,则该树的中心唯一,为这个点。
  • 如果一棵树的几何中心落在边上(不和点重合),并且将这条边分为权值相等的两部分,则该树的中心有两个,分别为这条边的两个端点。
  • 如果一棵树的几何中心落在边上(不和点重合),将这条边分成权值一大一小两部分,则该树的中心唯一,为这条边两个端点中,距离几何中心更近的那个端点。

第一种情况可以根据前几个性质平凡推得。

现在考虑一棵树的几何中心不为原树上点的情形。任取一条直径,设 \(s \leftrightsquigarrow u \longleftrightarrow v \leftrightsquigarrow t\),并设 \(p\) 在 \(u \longleftrightarrow v\) 上。

根据直径几何中心 \(p\) 在 \(u\) 和 \(v\) 之间,不难得到 \((u \sim s) < (u \sim t)\),\((v \sim s) > (v \sim t)\)。

也即 \(u\) 离 \(t\) 更远,\(v\) 离 \(s\) 更远。根据性质一(或者更强的性质九),\(u\) 到所有点最远距离为 \((u \sim t)\),\(v\) 到所有点最远距离 \((v \sim s)\)。


考虑断开 \(u \longleftrightarrow v\) 后,任意一个点 \(x\) 至少不和 \(s\) 和 \(t\) 中某个点连通。

所以任意一个点 \(x\) 要么和 \(s\) 的路径经过 \((u, v)\),要么和 \(t\) 的路径经过 \((u, v)\)。


如果 \(x\) 和 \(t\) 的路径经过 \((u, v)\),则 \(x\) 到 \(t\) 的路径可以表示成 \(x \leftrightsquigarrow u \longleftrightarrow v \leftrightsquigarrow t\)。

不难看出如果 \(x \ne u\),则 \((x \sim t) = (x \sim u) + (u \sim t) > (u \sim t)\),所以 \(x\) 严格比 \(u\) 劣,不是几何中心。

如果 \(x\) 和 \(s\) 的路径经过 \((u, v)\),则 \(x\) 到 \(s\) 的路径可以表示成 \(x \leftrightsquigarrow v \longleftrightarrow u \leftrightsquigarrow s\)。

不难看出如果 \(x \ne v\),则 \((x \sim s) = (x \sim v) + (v \sim s) > (v \sim s)\),所以 \(x\) 严格比 \(v\) 劣,不是几何中心。

综上,几何中心只有可能是 \(u\) 和 \(v\) 两个点中的某一个或两个都是。

考虑第三种情况,\(p\) 没有均分 \((u, v)\)。如果 \(p\) 与 \(u\) 的距离小于 \(p\) 与 \(v\) 的距离,即 \((p \sim u) < (p \sim v)\)。

因为 \((p \sim s) = (p \sim t) \iff (p \sim u) + (u \sim s) = (p \sim v) + (v \sim t)\),所以 \((u \sim s) > (v \sim t)\)。

同时加上 \((u \sim v)\) 得到 \((v \sim s) > (u \sim t)\)。

因此,\(u\) 严格比 \(v\) 优秀,\(u\) 是整棵树的几何中心。

否则,如果 \(p\) 与 \(u\) 的距离大于 \(p\) 与 \(v\) 的距离,则上面所有不等号倒置,得到 \(v\) 严格比 \(u\) 优秀,\(v\) 是整棵树的几何中心。

考虑第二种情况,如果 \(p\) 与 \(u\) 的距离等于 \(p\) 与 \(v\) 的距离。

这个时候上面所有不等号变成等号,会得到 \(u\) 和 \(v\) 距离所有点的最大距离都取到最小值 \((v \sim s) = (u \sim t)\),此时 \(u\) 和 \(v\) 都是几何中心。


本文耗时八个小时,如果帮助到您就点个赞吧。

标签:一个点,leftrightsquigarrow,端点,几何,整理,直径,sim,性质
From: https://www.cnblogs.com/crab-in-the-northeast/p/diameter-and-center-on-tree.html

相关文章

  • LoadRunner常见问题整理
    1.LoadRunner录制脚本时为什么不弹出IE浏览器?当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决。启动浏览器,打开Internet选项对话框,切换到高级标签,去掉“启用第三方浏览器扩展(需要重启动)”的勾选,然后再次......
  • 常用的 API 大全整理
    天气查询类天气预报查询:查询全国以及全球多个城市的天气,包含15天天气预报查询。空气质量查询:查询国内3400+个城市的整点观测,获取指定城市的整点观测空气质量。分钟级降水预报:可准确提醒下一场雨何时出现,何时变大,何时停止等预报信息。日出日落:获取指定城市/地点每日日出时间、......
  • DW PCIE Linux驱动整理
    1.DTS以imx6q为例,该SOC的DTS中对PCIE控制器的描述(对应dts文件:linux-4.14.75/arch/arm/boot/dts/imx6qd.dtsi)pcie:pcie@1ffc000{compatible="fsl,imx6q-pcie","snps,dw-pcie";reg=<0x01ffc0000x04000>,......
  • Modbus协议整理
    文章目录01读线圈状态示例02读输入位状态示例03读保持寄存器示例04读输入寄存器示例05写单个线圈示例06写单个保持寄存器示例15写多个线圈示例16写多个保持寄存器示例01读线圈状态读取从机的线圈状态(ON/OFF),位操作。例:请求从机设备17读00020-00056线圈。其中00020-00056......
  • ubuntu下修复apt-get时错误方法整理
    ubuntu下修复apt-get时错误方法整理出现错误:您可能需要运行“apt-get-finstall”来纠正下列错误:下列软件包有未满足的依赖关系:linux-headers-2.6.37-6-generic-pae:依赖:linux-headers-2.6.37-6但是它将不会被安装linux-image-generic-pae:依赖:linux-image-2.6.37-6-ge......
  • 整理非系统进程说明
            不定期更新内容进程说明 mDNSResponder.exe 一款名为Bonjour的音乐分享软件相关程序这个进程很多时候是安装了ADOBECS3之后出现的。不过,苹果公司的一些产品(如Safari浏览器)中也捆绑有它,不过在安装前会询问,而且在系统的“添加或者删除程序”中也有卸载入口。......
  • B. Tree Tag(贪心+树的最长直径)
    题目B.TreeTag题意思路因为这是一颗树,所以不管怎么追逐,我们都可以理解为在同一条路上追逐(去掉我们不走的路,就是一个线段)首先,如果da>db,显然能追上,进一步,da==db时,因为路径的长度是有限的,也显然可以追上因为树上任意两点的最短路径是固定的,所以a点可以一直朝着b追,而b是......
  • CF 580C- Kefa and Park, 1500 / 树的遍历 / 根节点到叶节点的路径上某性质的点不能
    CF580C-KefaandPark这个1500的题这么水?这还不如1200、1300的思维题我开始没考虑周全,这题给出的连边没有讲都是从父节点连向子节点,所有要建双边。#include<iostream>#include<cstring>usingnamespacestd;constintN=1e5+10,M=N*2;typedeflonglon......
  • 更新整理了一大波热门免费可用的API大全
    AI智能AI绘画:通过AI生成绝美图片,包括图生文、文生图、人像照片转动漫、图片高清化等。人脸检测:快速检测图片中的人脸并返回人脸位置,输出人脸关键点坐标,支持识别多张人脸。静态活体检测:静态活体检测主要用于针对用户上传图像,返回该图像中的人脸是否为真人;基于图片中人像的破......
  • Windows服务程序整理器 - 开源研究系列文章
    这些天弄了一个Windows服务程序管理器,主要是对需要的Windows服务程序进行管理。这个也能够将自己开发的服务程序注册到操作系统里去运行。1、       项目目录;目录见下图,对代码进行了划分,比较简单。主处理类在Helper目录里。 2、       ......