#P4438. [HNOI/AHOI2018] 道路

    ID: 5139 远端评测题 1000ms 500MiB 尝试: 16 已通过: 7 难度: 4 上传者: 标签>动态规划 DP2018各省省选安徽湖南深度优先搜索 DFS树形 DP

[HNOI/AHOI2018] 道路

题目描述

W 国的交通呈一棵树的形状。W 国一共有 n1n-1 个城市和 nn 个乡村,其中城市从 11n1n-1 编号,乡村从 11nn 编号,且 11 号城市是首都。道路都是单向的,本题中我们只考虑从乡村通往首都的道路网络。

对于每一个城市,恰有一条公路和一条铁路通向这座城市。对于城市 ii, 通向该城市的道路(公路或铁路)的起点,要么是一个乡村,要么是一个编号比 ii 大的城市。没有道路通向任何乡村。除了首都以外,从任何城市或乡村出发只有一条道路;首都没有往外的道路。从任何乡村出发,沿着唯一往外的道路走,总可以到达首都。

W 国的国王小 W 获得了一笔资金,他决定用这笔资金来改善交通。由于资金有限,小 W 只能翻修 n1n-1 条道路。小 W 决定对每个城市翻修恰好一条通向它的道路,即从公路和铁路中选择一条并进行翻修。小 W 希望从乡村通向城市可以尽可能地便利,于是根据人口调查的数据,小 W 对每个乡村制定了三个参数,编号为 ii 的乡村的三个参数是 aia_ibib_icic_i。假设从编号为 ii 的乡村走到首都一共需要经过 xx 条未翻修的公路与 yy 条未翻修的铁路,那么该乡村的不便利值为:

ci(ai+x)(bi+y)c_i \cdot (a_i + x) \cdot (b_i + y)

在给定的翻修方案下,每个乡村的不便利值相加的和为该翻修方案的不便利值。 翻修 n1n-1 条道路有很多方案,其中不便利值最小的方案称为最优翻修方案,小 W 自然希望找到最优翻修方案,请你帮助他求出这个最优翻修方案的不便利值。

输入格式

第一行为正整数 nn

接下来 n1n - 1 行,每行描述一个城市。其中第 ii 行包含两个数 si,tis_i,t_isis_i 表示通向第 ii 座城市的公路的起点,tit_i 表示通向第 ii 座城市的铁路的起点。如果si>0s_i>0,那么存在一条从第 sis_i 座城市通往第 ii 座城市的公路,否则存在一条从第 si-s_i 个乡村通往第 ii 座城市的公路;tit_i 类似地,如果 ti>0t_i > 0,那么存在一条从第 tit_i 座城市通往第 ii 座城市的铁路,否则存在一条从第 ti-t_i 个乡村通往第 ii 座城市的铁路。

接下来 nn 行,每行描述一个乡村。其中第 ii 行包含三个数 ai,bi,cia_i,b_i,c_i,其意义如题面所示。

输出格式

输出一行一个整数,表示最优翻修方案的不便利值。

6 
2 3 
4 5 
-1 -2 
-3 -4 
-5 -6 
1 2 3 
1 3 2 
2 1 3 
2 3 1 
3 1 2 
3 2 1
54
9 
2 -2 
3 -3 
4 -4 
5 -5 
6 -6 
7 -7 
8 -8 
-1 -9 
1 60 1 
1 60 1 
1 60 1 
1 60 1 
1 60 1 
1 60 1 
1 60 1 
1 60 1 
1 60 1
548
12 
2 4 
5 3 
-7 10 
11 9 
-1 6 
8 7 
-6 -10 
-9 -4
-12 -5 
-2 -3 
-8 -11 
53 26 491 
24 58 190 
17 37 356 
15 51 997 
30 19 398 
3 45 27 
52 55 838 
16 18 931 
58 24 212 
43 25 198 
54 15 172 
34 5 524
5744902
 

提示

【样例解释 1】

如图所示,我们分别用蓝色、黄色节点表示城市、乡村;用绿色、红色箭头分别表示 公路、铁路;用加粗箭头表示翻修的道路。

一种不便利值等于 5454 的方法是:翻修通往城市 22 和城市 55 的铁路,以及通往其他城市的 公路。用 \rightarrow\Rightarrow 表示公路和铁路,用 ∗\rightarrow∗\Rightarrow 表示翻修的公路和铁路,那么:

编号为 11 的乡村到达首都的路线为:131-1 ∗\rightarrow 3 \Rightarrow 1,经过 00 条未翻修公路和 11 条未翻修铁路,代价为 3×(1+0)×(2+1)=93 \times (1 + 0) \times (2 + 1) = 9

编号为 22 的乡村到达首都的路线为:231-2 \Rightarrow 3 \Rightarrow 1,经过 00 条未翻修公路和 22 条未翻修铁路,代价为 2×(1+0)×(3+2)=102 \times (1 + 0) \times (3 + 2) = 10
编号为 33 的乡村到达首都的路线为:3421-3 ∗\rightarrow 4 \rightarrow 2 ∗\rightarrow 1,经过 11 条未翻修公路和 00 条未翻修铁路,代价为 3×(2+1)×(1+0)=93 \times (2 + 1) \times (1 + 0) = 9

编号为 44 的乡村到达首都的路线为:4421-4 \Rightarrow 4 \rightarrow 2 ∗\rightarrow 1,经过 11 条未翻修公路和 11 条未翻修铁路,代价为 1×(2+1)×(3+1)=121 \times (2 + 1) \times (3 + 1) = 12

编号为 55 的乡村到达首都的路线为:5521-5 \rightarrow 5 ∗\Rightarrow 2 ∗\rightarrow 1,经过 11 条未翻修公路和 00 条未翻修铁路,代价为 2×(3+1)×(1+0)=82 \times (3 + 1) \times (1 + 0) = 8

编号为 66 的乡村到达首都的路线为:6521-6 ∗\Rightarrow 5 ∗\Rightarrow 2 ∗\rightarrow 1,经过 00 条未翻修公路和 00 条未翻修铁路,代价为 1×(3+0)×(2+0)=61 \times (3 + 0) \times (2 + 0) = 6

总的不便利值为 9+10+9+12+8+6=549 + 10 + 9 + 12 + 8 + 6 = 54。可以证明这是本数据的最优解。

【样例解释 2】

在这个样例中,显然应该翻修所有公路。

【数据范围】 一共 2020 组数据,编号为 1201 \sim 20。 对于编号 4\le 4 的数据,n20n \le 20
对于编号为 585 \sim 8 的数据,ai,bi,ci5a_i,b_i,c_i \le 5n50n \le 50
对于编号为 9129 \sim 12 的数据,n2000n \le 2000
对于所有的数据,n20000n \le 200001ai,bi601 \le a_i,b_i \le 601ci1091 \le c_i \le 10^9si,tis_i,t_i[n,1](i,n1][-n,-1] \cup (i,n - 1] 内的整数,任意乡村可以通过不超过 4040 条道路到达首都。