P16386 [IATI 2025] Kitten
题目描述
:::align{center}
谁不喜欢小猫和树的视频呢?
:::
小猫 Kis 在院子里发现了一棵大树。他想爬上去,但这棵树太大了!他发现的那棵树有 $N$ 个节点和 $N-1$ 条边。每条边都有一个正的长度。我们定义任意两个节点之间的距离为它们之间简单路径上边的长度之和。此外,我们将树的直径定义为任意两个节点之间的最大距离。
为了爬树,Kis 希望让树的直径尽可能小。为了达到这个目的,他最多可以进行 $K$ 次操作。每次操作,他选择树中长度非零的一条边,然后将其长度减少 $1$。Kis 只是一只小猫,所以他请求你的帮助。请编写程序 **kitten**,找出在最多进行 $K$ 次操作后能够达到的最小可能直径。
输入格式
第一行包含两个整数 $N$ 和 $K$。接下来的 $N-1$ 行,每行包含三个正整数 $u_i$, $v_i$, $w_i$,描述连接节点 $u_i$ 和 $v_i$ 且长度为 $w_i$ 的一条边。
输出格式
输出一个整数 —— 在最多 $K$ 次操作后树能达到的最小可能直径。
说明/提示
### 数据范围
- $1 \leq N \leq 2 \times 10^5$;
- $0 \leq K \leq 10^9$;
- $1 \leq u_i, v_i \leq N$;
- $1 \leq w_i \leq 10^4$。
### 子任务
| **子任务** | **分数** | **依赖子任务** | **$N$** | **$K$** | **$w_i$** |
| :---: | :---: | :---: | :---: | :---: | :---: |
| $1$ | $5$ | $-$ | $\leq 2\,000$ | $=0$ | $\leq 10^4$ |
| $2$ | $5$ | $1$ | $\leq 2 \times 10^5$ | $=0$ | 同上 |
| $3$ | $8$ | $-$ | 同上 | $=1$ | 同上 |
| $4$ | $22$ | $-$ | $\leq 200$ | $\leq 10^9$ | $=1$ |
| $5$ | $15$ | $4$ | $\leq 2\,000$ | $\leq 10^9$ | 同上 |
| $6$ | $15$ | $4-5$ | $\leq 2 \times 10^5$ | $\leq 10^9$ | 同上 |
| $7$ | $10$ | $4-6$ | $\leq 2 \times 10^5$ | $\leq 10^9$ | $(\sum_{i=1}^{N-1} w_i) \leq 10^6$ |
| $8$ | $20$ | $1-7$ | 同上 | 同上 | $\leq 10^4$ |
一个子任务的分数仅在成功通过该子任务及其所依赖子任务的全部测试后才能获得。
翻译由 DeepSeek V4 Pro 完成