#L4015. 「eJOI2023」Tree Infection
「eJOI2023」Tree Infection
题目描述
本题译自 eJOI2023 Problem E. Tree Infection
给定一个由 个顶点组成的有根树,以及整数 和 。顶点从 到 编号,其中顶点 为根。树中的其他每个顶点都有一个父节点。
如果选择一个顶点 ,它和它距离不超过 的所有后代(即从 向下沿着边可以到达的顶点)都会被感染,其中距离是指顶点之间的边数。当且仅当 和 都没有被感染,且它们之间的路径上被感染的顶点数不超过 时,顶点 才能从顶点 到达。
对于每个可能的选择顶点 (),你必须计算顶点对 的数量,满足 且 和 互相可达。
输入格式
第一行包含三个整数:, 和 。
第二行包含 个整数:,分别表示顶点 的父节点。
输出格式
输出 行,每行一个整数。第 行表示当选择顶点为 时的顶点对数量。
样例 1
输入:
13 2 2
1 2 3 4 3 6 6 8 2 10 11 1
输出:
16
4
15
55
66
36
66
55
66
45
55
66
66

上图对应于 。
可达的顶点对有:。
这个列表不包括顶点对 ,因为顶点 被感染了。同样,顶点对 也不在列表中,因为 和 之间的路径上有三个被感染的顶点(, 和 )。
样例 2
输入:
3 0 1
1 2
输出:
1
1
1
数据范围与提示
对于所有输入数据,满足:
()
详细子任务附加限制及分值如下表所示:
| 子任务 | 附加限制 | 分值 |
|---|---|---|
| 1 | 20 | |
| 2 | 14 | |
| 3 | 15 | |
| 4 | 10 | |
| 5 | 16 | |
| 6 | 无附加限制 | 25 |