AT_kupc2024_o Ordinary Blossom Algorithm

题目描述

有一棵以 $1$ 号结点为根的 $N$ 个结点的有根树,结点编号为 $1$ 到 $N$。第 $i$ 条边连接结点 $A_i$ 和 $B_i$。 每个结点都有一个权值,第 $v$ 个结点的权值为 $W_v$。 你的目标是通过进行如下操作任意次数,最终将树收缩为只包含结点 $1$ 的树。 - 选择从根出发的一条路径,将路径上所有的边进行缩约,并把路径结束点作为新的根。新的根的权值为该路径上所有结点的权值之和 $S$,并将 $S$ 加入到总成本中。 请在所有能以最少操作次数完成目标的方案中,求出可能的最小代价和最大代价,记为 $C_{\min}$ 和 $C_{\max}$。

输入格式

输入通过标准输入给出,格式如下: > $N$ > $A_1\ B_1$ > $A_2\ B_2$ > $\vdots$ > $A_{N-1}\ B_{N-1}$ > $W_1\ W_2\ \cdots\ W_N$

输出格式

请输出以空格分隔的两个整数 $C_{\min}$ 和 $C_{\max}$。 > $C_{\min}\ C_{\max}$

说明/提示

### 样例解释 1 将树收缩为 $1$ 个结点所需的最小操作次数是 $2$。 如果第一次选择的路径是 $1-2-4$,则新的树只剩下新根(设为结点 $5$)和结点 $3$,新根权值为 $S=50$。然后再选路径 $5-3$,此时树最终变为只有权值为 $S=51$ 的一个结点,总花费为 $50+51=101$,这是用 $2$ 次操作完成时的最大代价。 相反,如果第一次选择 $1-3$(新根设为结点 $5$),然后选择 $5-2-4$,总花费为 $21+51=72$,是 $2$ 次操作时的最小代价。 ### 数据范围 - 所有输入为整数 - $2 \le N \le 2 \times 10^5$ - $1 \le A_i, B_i \le N$ - $1 \le W_v \le 10^8$ - 输入保证构成一棵树 由 ChatGPT 5 翻译