CFCF2152H1.Victorious Coloring (Easy Version)
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
这是本题的简单版本。不同版本的区别在于本版本中 q≤10。只有当你解决了所有版本的问题后,才能对题目进行 hack。
给定一棵有 n 个顶点的树,每个顶点从 1 到 n 编号。每条边分配有正整数权值 w1,w2,…,wn−1。
“胜利染色”指的是将每个顶点染成红色或黄色两种颜色,其中至少要有一个顶点被染成红色(代表队伍 T1 的标志)。
假设每个顶点被分配了一个非负整数权值 x1,x2,…,xn。则“胜利染色”的代价定义为所有红色顶点的权值之和,再加上连接红黄两种颜色顶点之间的所有边的权值之和。我们记 f([x1,x2,…,xn]) 为所有胜利染色下的最小可能代价。
Gumayusi 思考了对于给定序列 x1,x2,…,xn,如何计算 f([x1,x2,…,xn])。但这个问题对他而言太简单了,于是他又提出了一个变体:给定整数 l,请找到一种非负整数顶点权值序列 [x1,x2,…,xn],使得 f([x1,x2,…,xn])≥l,且 ∑i=1nxi 尽可能小。
Gumayusi 很满意,但还存在一个严重问题——这个问题没有任何查询(query),而没有查询的问题在他看来都不是好题。所以,他为这个问题增加了查询。对于每个给定的 l,你需要输出对应的最小可能顶点权值之和。
输入格式
每个测试点包含多组测试用例。第一行包含测试用例个数 t(1≤t≤104)。每组测试用例格式如下:
第一行包含一个整数 n(2≤n≤250000),表示顶点数。
接下来的 n−1 行,每行包含三个整数 ui,vi,wi(1≤ui,vi≤n,1≤wi≤109,ui=vi),表示在 ui 和 vi 之间有一条权值为 wi 的边。
保证所有边形成一棵树。
下一行包含一个整数 q(1≤q≤10),表示查询个数。
接下来的 q 行,每行包含一个整数 li(1≤li≤109),表示第 i 个查询的参数。
保证所有测试用例中 n 的总和不超过 250000。
注意,q 的总和没有明确的上界。
输出格式
对于每个查询,输出一行答案。
输入输出样例
输入#1
2 5 3 5 10 2 3 4 3 1 10 3 4 2 5 28 32 11 17 23 2 1 2 3 1 1
输出#1
88 108 21 42 66 1
说明/提示
下表展示了第一个测试用例中每个查询的可能最优赋值:
- [18,24,2,26,18]
- [22,28,6,30,22]
- [4,7,0,9,1]
- [7,13,0,15,7]
- [13,19,0,21,13]