#P9128. [USACO23FEB] Fertilizing Pastures G

    ID: 10197 远端评测题 2000ms 256MiB 尝试: 0 已通过: 0 显示难度提高+/省选− 上传者: 标签>数学贪心USACO2023排序

[USACO23FEB] Fertilizing Pastures G

题目描述

有 NN 个顶点的树,经过节点之间的每一条边都需要 1s1s。每个顶点一开始的权值均为 00,第 ii 个点的权值每秒增长 aia_i。FJ 从 11 号顶点出发遍历整棵树,此时为时刻 00。当 FJ 走到某个节点时,若该节点的权值为 xx,则需要支出大小为 xx 的费用。(当然,只需在第一次经过该节点时需要支出。)

给出一个参数 TT:

  • 若 T=0T=0,FJ 必须回到 11 号节点。

  • 若 T=1T=1,FJ 可以在任意节点结束他的遍历。

求遍历所有节点的最小时间和此时需要付出的最小的费用。

输入格式

第一行包括 NN 和 TT。

第 22 行到第 NN 行,包含两个整数 pip_i 和 aia_i,aia_i 的含义见上文。pip_i 则表示节点 ii 和 pip_i 之间有一条边相连。

输出格式

两个整数:遍历所有节点的最小时间和此时需要付出的最小的费用。

$2 \le N \le 2 \times 10^5,T \in \{0,1\},1 \le a_i \le 10^8, 1 \le p_i < i$。

5 0
1 1
1 2
3 1
3 4
8 21
5 1
1 1
1 2
3 1
3 4
6 29

提示

样例 1 解释

农夫约翰的最优路线如下:

  • 在时间 11,移动到节点 33,此时该节点的权值为 1⋅2=21 \cdot 2 = 2,因此需要支付 22 单位费用。
  • 在时间 22,移动到节点 55,此时权值为 2⋅4=82 \cdot 4 = 8,需要支付 88 单位费用。
  • 在时间 33,返回节点 33,该节点已经访问过,无需再次支付。
  • 在时间 44,移动到节点 44,此时权值为 4⋅1=44 \cdot 1 = 4,需要支付 44 单位费用。
  • 在时间 55,返回节点 33,已访问。
  • 在时间 66,返回节点 11。
  • 在时间 77,移动到节点 22,此时权值为 7⋅1=77 \cdot 1 = 7,需要支付 77 单位费用。
  • 在时间 88,回到节点 11。

该路线总耗时为 88,总费用为 2+8+4+7=212+8+4+7=21。可以证明,对于任何最终必须回到节点 11 的路线,88 是最短耗时;而在所有耗时为 88 且回到节点 11 的路线中,2121 是可能达到的最小费用。


样例 2 解释

农夫约翰的最优路线如下:

  • 在时间 11,移动到节点 22,此时权值为 1⋅1=11 \cdot 1 = 1,需要支付 11 单位费用。
  • 在时间 22,返回节点 11。
  • 在时间 33,移动到节点 33,此时权值为 3⋅2=63 \cdot 2 = 6,需要支付 66 单位费用。
  • 在时间 44,移动到节点 55,此时权值为 4⋅4=164 \cdot 4 = 16,需要支付 1616 单位费用。
  • 在时间 55,返回节点 33,已访问,无需再支付。
  • 在时间 66,移动到节点 44,此时权值为 6⋅1=66 \cdot 1 = 6,需要支付 66 单位费用。

该路线总耗时为 66,总费用为 1+6+16+6=291+6+16+6=29。可以证明,对于任意路线,66 是最短可能耗时;而在所有耗时为 66 的路线中,2929 是可能达到的最小费用。


数据范围

  • 测试点 3∼103 \sim 10:T=0T=0
  • 测试点 11∼2211 \sim 22:T=1T=1
  • 测试点 3∼63 \sim 6 和 11∼1411 \sim 14:不存在度数超过 33 的节点。