P15048 [UOI 2022 II Stage] 树 2

题目描述

哥萨克胡子在从铁路回家的路上看到一棵树,并由此想出了一道题。 给定一棵包含 $n$ 个顶点的树,每条边都有一定的权重。初始时,所有顶点都是白色的。我们称一条边为 **亮边**,如果它连接两个白色顶点。请回答 $m$ 个查询: - 需要将最少多少个顶点重新涂成黑色,才能使所有 **亮边** 的权重之和不超过 $k_i$? 请帮助哥萨克胡子解决这个问题。

输入格式

第一行包含三个整数 $n$、$m$ 和 $g$ ($1 \leq n \leq 3\,000$, $1 \leq m \leq 2 \cdot 10^5$, $0 \leq g \leq 6$) —— 分别表示顶点数量、查询数量以及子任务编号。 接下来的 $n-1$ 行,每行包含三个整数 $u_i$、$v_i$、$c_i$ ($1 \leq v_i, u_i \leq n$, $1 \leq c_i \leq 10^5$) —— 表示边连接的顶点及其权重。 第四行包含 $m$ 个整数 $k_1, k_2, \dots, k_m$ ($0 \leq k_i \leq 10^9$)。

输出格式

输出 $m$ 个整数 $x_1, x_2, \dots, x_m$,其中 $x_i$ 是对第 $i$ 个查询的答案。

说明/提示

### 样例说明 在第一个样例中,如果 $k_i \geq 5$,我们可以保留所有顶点为白色,那么所有边都是 **亮边**,其权重之和为 $5$。对于 $k_i \leq 4$,我们可以将顶点 $1$ 涂成黑色,那么就没有 **亮边** 了,因此权重之和为 $0$。在这两种情况下,**亮边** 的权重之和都不超过 $k_i$,并且我们重新涂色的顶点数量是最少的。 ### 评分细则 - (5 分): $m=1$;保证答案不超过 $1$。 - (9 分): $m=1$;保证答案不超过 $2$。 - (28 分): $u_i = v_i - 1$;$n \leq 200$。 - (14 分): $m=1$;$n \leq 10$; - (21 分): $n \leq 200$; - (23 分): 无额外限制。 翻译由 DeepSeek V3 完成