#P14740. [ICPC 2021 Seoul R] Logistical Warehouse 2

[ICPC 2021 Seoul R] Logistical Warehouse 2

Description

KOPANG 是韩国最大的在线零售商之一,并首次推出了所谓的“清晨配送”服务。为了应对不断增长的需求,KOPANG 计划建设新的物流仓库。物流仓库的位置必须与客户保持在一定距离之内,以确保 KOPANG 向客户承诺的配送时间。

物流网络被建模为一棵连通的树 TTTT 的每个节点代表一个区域,例如韩国的城市或省份;TT 的每条边代表连接两个区域的运输道路。KOPANG 希望选择一个或多个 TT 的节点作为物流仓库,以满足 距离限制。在选择之前,KOPANG 首先通过充分的研究确定了一个距离参数 KK。现在,KOPANG 希望选择最少数量的节点来满足距离限制,即 TT 中每个节点到其最近被选节点(仓库)的距离不超过 KK。两个节点 uuvv 之间的距离定义为连接 uuvv 的(唯一)路径上的边数。注意,如果 u=vu = v,距离定义为 00

例如,下图 G.1 展示了一棵有九个节点和八条边的树 TT。对于 K=1K = 1,如果将三个仓库设在节点 2、5 和 8(如图 G.1 (a) 中红色圆圈标记所示),那么 TT 中每个节点到最近仓库的距离都至多为 11。两个仓库不足以满足距离限制,因此三个仓库是最小数。对于 K=2K = 2,仍然需要三个仓库;K=1K = 1 时在节点 2、5 和 8 设立的仓库对 K=2K = 2 也适用。当然,最小数量仓库的位置并不唯一;如图 G.1 (b) 所示,在节点 4、7 和 1 设立三个仓库也能满足 K=2K = 2 时的距离限制。

给定一棵连通的树 TT 和一个正整数 KK,请编写一个程序来选择最少数量的节点(仓库)以满足距离限制,即 TT 中每个节点到其最近仓库的距离不超过 KK

:::align{center}

图 G.1 用红色圆圈标记的节点是被选为仓库的节点。 :::

Input Format

你的程序需要从标准输入读取数据。输入的第一行包含两个整数 nnKK (1Kn1051 \le K \le n \le 10^5),其中 nn 是连通树中的节点数,树中每个节点到其最近被选节点的最大距离不超过 KK。接下来的 n1n-1 行给出边的信息;第 ii 行包含两个正整数,表示第 ii 条边两个端节点的索引。节点的索引从 11nn

Output Format

你的程序需要向标准输出写入结果。输出恰好一行,包含为满足给定树和距离参数 KK 的距离限制而选择的物流仓库的最小数量。

9 1
2 1
7 3
3 4
4 5
6 5
7 8
3 2
8 9
3
9 2
2 1
7 3
3 4
4 5
6 5
7 8
3 2
8 9
3
9 8
2 1
7 3
3 4
4 5
6 5
7 8
3 2
8 9
1

Hint

翻译由 DeepSeek V3 完成