P12659 [KOI 2023 Round 1] 加油站
题目背景
试题来源:。中文翻译做了少量本土化修改。
按照[署名—非商业性使用—相同方式共享 4.0 协议国际版](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh-hans)进行授权。
题目描述
KOI 国家由 $N$ 个村庄组成。每个村庄从 1 到 $N$ 编号。国家中共有 $N - 1$ 条道路,每条道路连接两个不同的村庄,编号从 1 到 $N - 1$。第 $i$ 条道路连接的是第 $x_i$ 个村庄与第 $y_i$ 个村庄。
KOI 国家中的任意两个村庄之间,恰好存在一条路径将它们连接起来。
从第 $x$ 个村庄到第 $y$ 个村庄的路径可以表示为一个村庄序列:$x$ - $z_1$ - $z_2$ - ⋯ - $z_t$ - $y$,该路径满足以下两个条件:
- 路径上相邻两个村庄之间,即 $x$ 与 $z_1$,$z_1$ 与 $z_2$,⋯,$z_t$ 与 $y$ 之间都存在道路直接连接。
- 路径中不得有重复村庄。也就是说,$x$,$z_1$,⋯,$z_t$,$y$ 均为互不相同的村庄。
路径的“长度”定义为该路径上所经过的道路数,即 $t + 1$。
现在,计划在若干个村庄中设置加油站。根据 KOI 国家法律,加油站必须满足以下条件:
- 对于任意长度为 $k$ 的路径,路径中必须至少有一个村庄设有加油站。
在满足上述条件的前提下,找出设置加油站所需的最小数量。
输入格式
第一行包含两个整数 $N$ 和 $k$,以空格分隔,表示村庄的数量与路径长度限制。
接下来 $N - 1$ 行,每行包含两个整数 $x_i$ 和 $y_i$,表示道路直接连接的两个村庄编号。
输出格式
输出一行,表示满足条件所需的最少加油站数量。
说明/提示
**样例 1 说明**
只需在第 $2$ 个村庄设置加油站即可满足所有长度为 $2$ 的路径。
**样例 2 说明**
仅在第 $2$ 个村庄设置加油站不能满足所有长度为 $2$ 的路径(例如路径 $4-6-7$ 不包含加油站)。若再在第 $6$ 个村庄也设置加油站,则所有长度为 $2$ 的路径都包含至少一个加油站。因此最小加油站数量为 $2$。
**限制条件**
- 所有输入均为整数。
- $2 \leq N \leq 200\,000$
- $1 \leq k \leq N - 1$
- $1 \leq x_i, y_i \leq N$
- $x_i \ne y_i$
- 任意两个村庄之间,存在唯一一条路径相连。
- 至少存在一条长度为 $k$ 的路径。
**子问题**
1. (9 分)对于每条道路 $i$($1 \leq i \leq N - 1$),连接的是第 $i$ 个村庄和第 $i + 1$ 个村庄。
2. (10 分)$k = 1$
3. (11 分)对于每条道路 $i$($1 \leq i \leq N - 1$),连接的是第 $i + 1$ 个村庄和 $\lfloor \frac{i + 1}{2} \rfloor$ 个村庄。这里 $\lfloor x \rfloor$ 表示不大于 $x$ 的最大整数。
4. (12 分)$N \leq 15$
5. (15 分)$N \leq 300$
6. (17 分)$N \leq 3\,000$
7. (26 分)无额外限制
翻译由 ChatGPT-4o 完成