树上点权限制
时间限制:1秒 内存限制:256M
【问题描述】
给定一颗 \(n\) 个点的有根树,边有边权,节点从 \(1\) 至 \(n\) 编号,\(1\) 号节点是这棵树的根。对于节点 \(i\),其权值为\(p_i\),请求出结点 \(u\) 的子树中有多少节点的权值大于结点 \(u\) 的权值。
【输入格式】
第一行包括一个整数 \(n\)。
接下来的 \(n\) 行包括奶牛们的能力指数 \(p_1,p_2,…,p_n\)。保证所有数互不相同。
接下来的 \(n-1\) 行描述了奶牛 \(2\sim n\) 的双亲结点的编号。
【输出格式】
输出包括 \(n\) 行。输出的第 \(i\) 行应当给出结点 \(i\) 的子树中权值大于 \(p_i\) 的结点数目。
【输入输出样例】
Input
5
804289384
846930887
681692778
714636916
957747794
1
1
2
3
Output
2
0
1
0
0
【数据说明】
对于 \(100\%\) 的数据 \(1≤n≤2×10^5,1≤p_i≤10^9\)。
【来源】
Mr.he