#L2521. 「FJOI2018」领导集团问题

    ID: 4950 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>动态规划树形DP树结构数据结构线段树树状数组DFS序列

「FJOI2018」领导集团问题

题目描述
一个公司的组织架构可以用一棵领导树来表示。公司的每个成员对应于树中一个结点 viv_i,且每个成员都有相应的级别 wiw_i。越高层的领导,其级别值 wiw_i 越小。树中任何两个结点之间有边相连,则表示与结点相应的两个成员属于同一部门。领导集团问题就是根据公司的领导树确定公司的最大部门。换句话说,也就是在领导树中寻找最大的部门结点子集,使得对于任意结点 viv_ivjv_j,如果 viv_ivjv_j 的子孙结点,则 wiwjw_i \ge w_j

编程任务:对于任意给定的领导树,计算出领导树中最大的部门结点子集。

输入格式
第一行有一个正整数 nn,表示领导树的结点数。接下来的一行中有 nn 个整数。第 ii 个数表示 wiw_i。再接下来的 n1n - 1 行中,第 ii 行有一个整数 viv_i 表示 viv_ii+1i + 1 的双亲结点。

nn 为正整数,n200000n \le 2000000<wi1090 < w_i \le 10^9

输出格式
输出找到的最大的部门的成员数。

样例
输入

6
2 5 1 3 5 4
1
1
2
2
4

输出

4

数据范围与提示
对于 10%10\% 的数据,n20n\le 20
对于 40%40\% 的数据,n2000n\le 2000
对于 100%100\% 的数据,n200000n\le 200000

测试数据为民间数据,非原题数据。