#lCAlydlt60x6303. 树网的核

树网的核

好的,这是整理好的题面,不含解题思路,只包含样例解释。


题目描述

T=(V,E,W)T=(V,E,W) 是一个无圈且连通的无向图(即一棵无根树),每条边带有正整数权值,我们称 TT树网

路径:树网中任意两个结点 a,ba,b 之间存在唯一的一条简单路径,用 d(a,b)d(a,b) 表示以 a,ba,b 为端点的路径的长度(路径上各边长度之和)。

距离d(a,b)d(a,b) 称为 a,ba,b 两结点间的距离。

一点 vv 到一条路径 PP 的距离:为该点与 PP 上最近的结点之间的距离,记作:

$$d(v,P)=\min\{d(v,u)\},\quad u \text{ 为路径 } P \text{ 上的结点}$$

树网的直径:树网中最长的路径称为树网的直径。直径可能不唯一,但各直径的中点(可能在结点上,也可能在边的内部)是唯一的,称该点为树网的中心

偏心距 ECC(F)ECC(F):对于一条路径 FF,定义:

ECC(F)=max{d(v,F)vV}ECC(F)=\max\{d(v,F)\mid v\in V\}

即距路径 FF 最远的结点到 FF 的距离。

任务: 对于给定的树网 TT 和非负整数 ss,找一条路径 FF,满足:

  1. FF 是某条直径上的一段子路径(端点都是结点)。
  2. FF 的长度不超过 ss(可以等于 ss)。
  3. 使得 ECC(F)ECC(F) 最小。

这样的路径 FF 称为树网的(Core)。
核不一定唯一,但最小偏心距是唯一的。

特殊情况FF 可以退化为一个结点(即长度为 00)。


输入格式

第一行两个正整数 nnss,表示结点个数和核的长度上界。结点编号为 1,2,,n1,2,\dots,n
接下来 n1n-1 行,每行三个整数 u,v,wu,v,w,表示连接结点 uuvv 的边长度为 ww

数据保证输入是一棵树

输出格式

输出一个整数,表示在限制下的最小偏心距。

数据范围

  • 1n5000001 \le n \le 500000
  • 0s<2310 \le s < 2^{31}
  • 0树的直径长度<2310 \le \text{树的直径长度} < 2^{31}

输入样例

5 2
1 2 5
2 3 2
2 4 4
2 5 3

输出样例

5

样例解释

n=5n=5s=2s=2

树的边

  1. 1-2: 5
  2. 2-3: 2
  3. 2-4: 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。

题目要求:在直径上选长度 s=2\le s=2 的一段路径 FF,使 ECC(F)ECC(F) 最小。

直径上的点顺序:1 —(5)— 2 —(4)— 4,边权依次是 5 和 4。

长度为 s=2s=2 的子路径可选:

  • 从 1 到 2 之间一段:但边权 5>2,所以不能完整包含整条边?
    注意:题目说“路径长度不超过 ss”,且“路径两端均为结点”,意味着必须取完整边,不能取边的部分。
    所以只能取长度为 2\le 2 的完整边组成的路径。
    在直径 1-2-4 上,边(1,2)=5>2,不能包含;边(2,4)=4>2,不能包含。
    所以唯一可能是只取一个点(长度 0)。

如果 FF 是一个点

  • 若选 F={1}F=\{1\},则 ECC(F)ECC(F) = 离 1 最远的点是 4,距离 9;或者 3 距离 7;或 5 距离 8,最大是 9。
  • 若选 F={2}F=\{2\},则最远点可能是 4 距离 4,或 1 距离 5,或 3 距离 2,或 5 距离 3,最大是 5。
  • 若选 F={4}F=\{4\},最远点 1 距离 9。

因此 F={2}F=\{2\}ECC(F)=5ECC(F)=5


检查有没有可能取边
因为边权都大于 2,无法取完整边,所以 FF 只能是单点。
选点 2 得到偏心距 5,这是最小的。

所以输出 5