#P3605. [USACO17JAN] Promotion Counting P

    ID: 2456 Type: RemoteJudge 1000ms 128MiB Tried: 1 Accepted: 1 Difficulty: 5 Uploaded By: Tags>2017线段树USACO树状数组离散化深度优先搜索,DFS

[USACO17JAN] Promotion Counting P

题目描述

奶牛们又一次试图创建一家创业公司,还是没有从过去的经验中吸取教训——牛是可怕的管理者!

为了方便,把奶牛从 1n1\sim n 编号,把公司组织成一棵树,1 号奶牛作为总裁(这棵树的根节点)。除了总裁以外的每头奶牛都有一个单独的上司(它在树上的 “双亲结点”)。

所有的第 ii 头牛都有一个不同的能力指数 pip_i,描述了她对其工作的擅长程度。如果奶牛 ii 是奶牛 jj 的祖先节点,那么我们我们把奶牛 jj 叫做 ii 的下属。

不幸地是,奶牛们发现经常发生一个上司比她的一些下属能力低的情况,在这种情况下,上司应当考虑晋升她的一些下属。你的任务是帮助奶牛弄清楚这是什么时候发生的。简而言之,对于公司的中的每一头奶牛 ii,请计算其下属 jj 的数量满足 pj>pip_j > p_i

输入格式

输入的第一行包括一个整数 nn

接下来的 nn 行包括奶牛们的能力指数 p1,p2pnp_1,p_2 \dots p_n。保证所有数互不相同。

接下来的 n1n-1 行描述了奶牛 2n2 \sim n 的上司的编号。再次提醒,1 号奶牛作为总裁,没有上司。

输出格式

输出包括 nn 行。输出的第 ii 行应当给出有多少奶牛 ii 的下属比奶牛 ii 能力高。

5
804289384
846930887
681692778
714636916
957747794
1
1
2
3
2
0
1
0
0

提示

对于 100%100\% 的数据,1n1051\le n \le 10^51pi1091 \le p_i \le 10^9