#P10555. [ICPC 2024 Xi'an I] Fix the Tree
[ICPC 2024 Xi'an I] Fix the Tree
Description
给定一棵由 个顶点组成的树。树中每个顶点 都有一个值 。
现在顶点 将被破坏。一旦被破坏,顶点 和所有以 为一端的边将从树中移除。
为了使树重新连通,你可以执行以下操作任意次(可能为零次),顺序不限:
- 首先从树中选择两个顶点 和 ;
- 然后支付 个硬币,并在顶点 和 之间添加一条边;
- 最后,将 替换为 ,将 替换为 。
你的任务是计算需要支付的最小硬币数。
但你不知道哪个顶点是 ,所以你需要为每个 找到答案。请独立回答所有查询。
Input Format
第一行包含一个整数 —— 这棵树的顶点数。
接下来的一行包含 个数,第 个数是 。
接下来的 行包含树的边的描述。这些行中的第 行包含两个整数 和 —— 由第 条边连接的顶点的编号。
保证给定的边构成一棵树。
Output Format
输出 个整数,第 个整数是当 时的答案。
6
1 1 1 1 1 1
1 2
1 3
1 4
2 5
2 6
4 4 0 0 0 0
4
1 2 3 4
1 2
1 3
1 4
12 0 0 0
7
1 2 3 4 5 6 7
1 2
1 3
2 4
2 5
3 6
3 7
5 12 16 0 0 0 0
Hint
给定一个有 个点组成的树,每个点有一个权值 。 点 和相邻的边被删除。 你可以进行以下操作任意次数(可以为 ),让树重新成为连通图:
- 选择两个点 、;
- 花费 的代价连接一条边 ;
- 。
对于每个 计算最小代价。(由 ChatGPT 4o 翻译)
京公网安备 11011102002149号