#C. 森精灵的家族会议

    Type: Default 1000ms 256MiB

森精灵的家族会议

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

森精灵是个很长寿的种族,一个森精灵家族内部往往很多代人共同生活。

这一天族长要召开家族会议,他召集自己 d 代以内的直系子孙都来参加。之后每位子孙又会召集自己 d 代内的直系子孙召开家庭内部会议。现在已知家族中的成员关系,你能求出对于每位成员所召开的会议,分别有多少名成员需要参加吗?

为了方便统计,我们设家族成员编号为 0∼n−1 ,其中族长编号为 0 。

输入格式

第一行输入两个数 n,d ,其中 n 表示族长与其直系子孙的总人数, d 表示 d 代以内的子孙需要参会;

第二行输入 n−1 个数,第 i 个数 a[i] 表示编号为 i 的成员的父辈是谁,以空格隔开;

输出格式

输出共 n 行,每行一个数,表示第 i−1 位成员(族长或其子孙)所召开的会议,需要参加的人数。

输入样例

5 1
0 0 2 2

输出样例

3
1
3
1
1

数据范围

对于 100% 的数据, 2n1000001dn10a[i]n12≤n≤100000 , 1≤d≤n−1 , 0≤a[i]≤n−1

样例解释

样例中的家族关系如图所示, d=1 ,

则族长(成员 0) 的会议有 0,1,2 ,共 3 人参加;

成员 1,3,4 的会议只有本人参加;

成员 2 的会议有 2,3,4 ,共 3 人参加。

4月第三周昆十中教研

Not Claimed
Status
Done
Problem
8
Open Since
2026-4-13 0:00
Deadline
2026-5-20 23:59
Extension
24 hour(s)