#lCAlydlt60x6303. 树网的核
树网的核
好的,这是整理好的题面,不含解题思路,只包含样例解释。
题目描述
设 是一个无圈且连通的无向图(即一棵无根树),每条边带有正整数权值,我们称 为树网。
路径:树网中任意两个结点 之间存在唯一的一条简单路径,用 表示以 为端点的路径的长度(路径上各边长度之和)。
距离: 称为 两结点间的距离。
一点 到一条路径 的距离:为该点与 上最近的结点之间的距离,记作:
$$d(v,P)=\min\{d(v,u)\},\quad u \text{ 为路径 } P \text{ 上的结点}$$树网的直径:树网中最长的路径称为树网的直径。直径可能不唯一,但各直径的中点(可能在结点上,也可能在边的内部)是唯一的,称该点为树网的中心。
偏心距 :对于一条路径 ,定义:
即距路径 最远的结点到 的距离。
任务: 对于给定的树网 和非负整数 ,找一条路径 ,满足:
- 是某条直径上的一段子路径(端点都是结点)。
- 的长度不超过 (可以等于 )。
- 使得 最小。
这样的路径 称为树网的核(Core)。
核不一定唯一,但最小偏心距是唯一的。
特殊情况: 可以退化为一个结点(即长度为 )。
输入格式
第一行两个正整数 和 ,表示结点个数和核的长度上界。结点编号为 。
接下来 行,每行三个整数 ,表示连接结点 和 的边长度为 。
数据保证输入是一棵树。
输出格式
输出一个整数,表示在限制下的最小偏心距。
数据范围
输入样例
5 2
1 2 5
2 3 2
2 4 4
2 5 3
输出样例
5
样例解释
,。
树的边:
- 1-2: 5
- 2-3: 2
- 2-4: 4
- 2-5: 3
树的结构如下:
3(2)
|
1(5)---2---4(4)
|
5(3)
括号内是边的长度。
求直径:
- 从 1 出发最远到 4(路径 1-2-4 长度 5+4=9)或到 3(1-2-3 长度 5+2=7)或到 5(1-2-5 长度 5+3=8),最远是 4(距离 9)。
- 从 4 出发最远到 1(长度 9)或到 3(4-2-3 长度 4+2=6)或到 5(4-2-5 长度 4+3=7),最远是 1(距离 9)。 所以一条直径是 1-2-4,长度 9。
题目要求:在直径上选长度 的一段路径 ,使 最小。
直径上的点顺序:1 —(5)— 2 —(4)— 4,边权依次是 5 和 4。
长度为 的子路径可选:
- 从 1 到 2 之间一段:但边权 5>2,所以不能完整包含整条边?
注意:题目说“路径长度不超过 ”,且“路径两端均为结点”,意味着必须取完整边,不能取边的部分。
所以只能取长度为 的完整边组成的路径。
在直径 1-2-4 上,边(1,2)=5>2,不能包含;边(2,4)=4>2,不能包含。
所以唯一可能是只取一个点(长度 0)。
如果 是一个点:
- 若选 ,则 = 离 1 最远的点是 4,距离 9;或者 3 距离 7;或 5 距离 8,最大是 9。
- 若选 ,则最远点可能是 4 距离 4,或 1 距离 5,或 3 距离 2,或 5 距离 3,最大是 5。
- 若选 ,最远点 1 距离 9。
因此 时 。
检查有没有可能取边:
因为边权都大于 2,无法取完整边,所以 只能是单点。
选点 2 得到偏心距 5,这是最小的。
所以输出 5。