#P4577. [FJOI2018] 领导集团问题
[FJOI2018] 领导集团问题
题目描述
一个公司的组织领导架构可以用一棵领导树来表示。公司的每个成员对应于树中一个结点 ,且每个成员都有响应的级别 。越高层的领导,其级别值 越小。树中任何两个结点之间有边相连,则表示与结点相应的两个成员属于同一部门。领导集团问题就是根据公司的领导树确定公司的最大部门。换句话说,也就是在领导树中寻找最大的部门结点子集,使得的结点 和 ,如果 是 的子孙结点,则 。
编程任务:对于任意对于给定的领导树,计算出领导树中最大的部门结点子集。
输入格式
第一行有一个正整数 ,表示领导树的结点数。
接下来的一行中有 个整数。第 个数表示 。
再接下来的 行中,第 行有一个整数 表示 是 的双亲结点。
输出格式
输出找到的最大的部门的成员数。
6
2 5 1 3 5 4
1
1
2
2
4
4
提示
对于 的数据,;
对于 的数据,;
对于 的数据,,。