AT_kupc2024_o.Ordinary Blossom Algorithm

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有一棵以 11 号结点为根的 NN 个结点的有根树,结点编号为 11 到 NN。第 ii 条边连接结点 AiA_i 和 BiB_i。

每个结点都有一个权值,第 vv 个结点的权值为 WvW_v。

你的目标是通过进行如下操作任意次数,最终将树收缩为只包含结点 11 的树。

  • 选择从根出发的一条路径,将路径上所有的边进行缩约,并把路径结束点作为新的根。新的根的权值为该路径上所有结点的权值之和 SS,并将 SS 加入到总成本中。

请在所有能以最少操作次数完成目标的方案中,求出可能的最小代价和最大代价,记为 Cmin⁡C_{\min} 和 Cmax⁡C_{\max}。

输入格式

输入通过标准输入给出,格式如下:

NN
A1 B1A_1\ B_1
A2 B2A_2\ B_2
⋮\vdots
AN−1 BN−1A_{N-1}\ B_{N-1}
W1 W2 ⋯ WNW_1\ W_2\ \cdots\ W_N

输出格式

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

Cmin⁡ Cmax⁡C_{\min}\ C_{\max}

输入输出样例

  • 输入#1

    4
    1 2
    1 3
    2 4
    20 25 1 5

    输出#1

    72 101
  • 输入#2

    10
    2 4
    3 8
    7 9
    6 3
    2 1
    9 5
    9 6
    3 10
    9 2
    19359725 62617217 96402215 25620070 46288197 40930485 37441368 32164537 69968419 79525817

    输出#2

    1525009090 2231445426

说明/提示

样例解释 1

将树收缩为 11 个结点所需的最小操作次数是 22。

如果第一次选择的路径是 1−2−41-2-4,则新的树只剩下新根(设为结点 55)和结点 33,新根权值为 S=50S=50。然后再选路径 5−35-3,此时树最终变为只有权值为 S=51S=51 的一个结点,总花费为 50+51=10150+51=101,这是用 22 次操作完成时的最大代价。

相反,如果第一次选择 1−31-3(新根设为结点 55),然后选择 5−2−45-2-4,总花费为 21+51=7221+51=72,是 22 次操作时的最小代价。

数据范围

  • 所有输入为整数
  • 2≤N≤2×1052 \le N \le 2 \times 10^5
  • 1≤Ai,Bi≤N1 \le A_i, B_i \le N
  • 1≤Wv≤1081 \le W_v \le 10^8
  • 输入保证构成一棵树

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页