#YHCSPJMN150003. 权值统计
权值统计
权值统计
题目背景
在育华学校的算法实践课程中,T2之王需要解决一个关于树结构的统计问题。给定一棵树,每个节点有唯一权值,需要统计每个节点的所有子孙节点中权值大于该节点权值的数量。
题目描述
有一棵树包含 个节点(编号 )和 条边,编号为 1 的节点是树根。每个节点 有对应的权值 。
对于每个节点 ,需要计算其所有子孙节点(即该节点的子树中除自身外的节点)中,权值大于 的节点总数。
输入格式
- 第 1 行:整数 ,表示树的节点数量;
- 接下来 行:每行一个整数 ,依次对应编号为 1 到 的节点的权值(所有权值互不相等);
- 接下来 行:每行一个整数 ,依次对应编号为 2 到 的节点的父节点编号(编号为 1 的节点是树根,无需输入其父节点)。
输出格式
输出 行,第 行输出编号为 的节点的所有子孙节点中权值大于 的节点总数。
样例
样例输入 1
5
6
2
9
14
7
1
3
4
样例输出 1
3
0
1
0
0
样例解释 1
树的结构及各节点权值如下:
- 节点 1(权值 6)的子孙节点:2(2)、3(9)、4(14)、5(7)。其中权值大于 6 的有 3、4、5,共 3 个;
- 节点 2(权值 2)无子孙节点,输出 0;
- 节点 3(权值 9)的子孙节点:4(14)、5(7)。其中权值大于 9 的只有 4,共 1 个;
- 节点 4(权值 14)无子孙节点,输出 0;
- 节点 5(权值 7)无子孙节点,输出 0。
数据规模与测试点(20 个测试点)
测试点编号 | 特殊条件 | |
---|---|---|
#1~#2 | 20 | 树退化成链 |
#3~#4 | ||
#5~#6 | 树退化成链 | |
#7~#8 | ||
#9~#10 | 树退化成链 | |
#11~#12 | ||
#13~#14 | ||
#15~#16 | ||
#17~#18 | ||
#19~#20 |
相关
在下列比赛中: