SZ#G6MT21. 【GESP强化 六级】彩灯装饰

提交1 通过1
通过率100%
时间限制2000ms
内存限制256MiB
    ID: 11453 传统题 2000ms 256MiB 尝试: 1 已通过: 1 难度: 普及- 上传者: 标签>GESPGESP强化C++c++编程题多叉树有根树叶子计数排序

题目描述

有一棵以顶点 11 为根的树,共有 NN 个顶点。小婷老师会在每一个叶子顶点安装一盏带有颜色的灯。

如果某个顶点的子树中,所有叶子上的灯颜色两两不同,就称这个顶点是“快乐”的。相同的颜色可以用在不同叶子上,但这样可能使同时包含这些叶子的某些祖先顶点不快乐。

对于每个 k=1,2,,Nk=1,2,\ldots,N,请分别计算:为了让树中至少有 kk 个快乐顶点,最少需要使用多少种不同的颜色。

输入格式

第一行输入一个整数 NN,表示顶点数量。

第二行输入 N1N-1 个整数 p2,p3,,pNp_2,p_3,\ldots,p_N,其中 pip_i 表示顶点 ii 的父亲。

输出格式

在一行中输出 NN 个整数。第 kk 个整数表示让至少 kk 个顶点快乐所需的最少颜色种类数。

1
1
3
1 2
1 1 1
3
1 1
1 1 2

数据范围与约定

  • 1N1051\le N\le10^5
  • 1pi<i1\le p_i<i