#P11097. [ROI 2022 Day 1] 采购优化

[ROI 2022 Day 1] 采购优化

题目背景

翻译自 ROI 2022 D1T2

租赁滑雪设备的网点网络是一棵根节点为 11 的树,由 nn 个节点组成,编号从 11nn。每个节点上都有一个租赁点。位于第 ii 个节点的租赁点需要以 cic_i 卢布的价格购买设备套件。

aia_i 表示在位于节点 ii 子树的所有租赁点中将要购买的滑雪设备套件的总数。根据市场调研,这个值必须要满足 liairil_i\le a_i\le r_i

题目描述

需要确定在赛季开始时每个租赁点需要购买多少套设备,以便对于网络中任何一个子树,设备套件的总数量都在市场营销人员指定的范围内,并且购买的所有设备套件的总成本最小,或是否不可能满足所有市场营销条件。

输入格式

每个测试点包含多个测试数据。第一行给出一个整数 tt,表示测试数据的数量。接下来是 tt 个测试数据。

每个测试数据的第一行给出一个整数 nn1n100,0001\le n\le100,000),表示树中的节点数量。

接下来一行给出 n1n-1 个整数 p2,p3,,pnp_2,p_3,\dots,p_n1pi<i1\le p_i<i),表示节点 ii 的父节点为节点 pip_i

接下来一行给出 nn 个整数 c1,,cnc_1,\dots,c_n1ci1091\le c_i\le10^9),其中 cic_i 表示 ii 号租赁点购买一个设备套件的价格。

接下来 nn 行,每行给出两个整数 lil_irir_i0liri1090\le l_i\le r_i\le10^9),表示对位于节点编号为 ii 的租赁点的子树中设备套件的总数的限制。

保证所有测试用例中 nn 的总和不超过 100,000100,000

输出格式

对于每个测试数据,以下面的格式输出答案。

如果无法满足所有市场营销条件,请输出 -1

否则,在第一行中输出购买整个网络的滑雪设备需要花费的最小卢布数。在第二行中,输出 nn 个整数 bib_i,其中 bib_i 表示编号为 ii 的租赁点需要购买的设备套件的数量。如果有多种方式以最小的成本满足所有市场营销条件,可以输出其中一种。

2
3
1 1
3 1 2
5 7
1 2
2 4
2
1
5 5
0 1
2 2
8
0 2 3
-1

提示

样例输入的第一组数据说明:

c1b1+c2b2+c3b3=0+2+6=8c_1 b_1 + c_2 b_2 + c_3 b_3 = 0 + 2 + 6 = 8

数据范围:

设节点 ii 的子树中的节点数量为 sis_i

Subtask 分值 n\sum n\le 特殊性质
11 2424 500500 ri1000r_i\le1000
22 2222 50005000 risir_i\le s_i
33 1818 100000100000 li100×sil_i\le100\times s_iri=109r_i=10^9
44 2121 50005000
55 1515 100000100000

全部数据范围见输入格式。