问题 6285 --兔兔的树

6285: 兔兔的树★★★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 6  解决: 4
[提交][状态][命题人:]

题目描述

给定一棵n个顶点的树, 其中根为1,给定2,3,…,n 的父结点p2,p3,…,pn。再给出每个点权值ai的范围[li,ri]。初始每个点的权值均为0。每次操作可以选择从1开始的树上路径b1,b2,…,bk,不一定要在叶子结点处结束,将abi加上ci,其中{ci}是一个非负单调不下降的整数数列。
现在请帮忙计算一下,兔兔至少要多少次操作,可以令所有点权值均在[li,ri]范围内。

输入

第一整数为T,表示有T (1≤T≤1000)组测试样例。
每组测试样例的第一行为整数n (2≤n≤2e5),表示顶点数量。
第二行为n-1个整数p2,p3,…,pn(1≤pi<i),其中pi表示顶点i的父结点。
接下来n行,每行有两个整数li与ri(1≤li≤ri≤1e9),表示顶点i的权值范围。
测试数据保证所有的n之和不超过200000。


输出

每组测试数据输出一个整数,表示最少操作次数。
样例输入
Copy
4
2
1
1 5
2 9
3
1 1
4 5
2 4
6 10
4
1 2 1
6 9
5 6
4 5
2 4
5
1 2 3 4
5 5
4 4
3 3
2 2
1 1
样例输出
Copy
1
2
2
5

提示

在测试样例1中,只需一次操作。选择路径b={1,2},选择非负单调不下降的整数数列c=[1,2]进行操作后,a1=1,a2=2。
在测试样例2中,需要2次操作。第一次:选择路径b={1,2},选择非负单调不下降的整数数列c=[3,3]进行操作后,a1=3,a2=3,a3=0。第二次:选择路径b={1,3},选择非负单调不下降的整数数列c=[2,7]进行操作后,a1=5,a2=3,a3=7。

来源

 

[提交][状态]