#abc264h. [abc264_h]Perfect Binary Tree

[abc264_h]Perfect Binary Tree

题目描述

我们有一个有根树,其中的顶点编号为1,2,,N1,2,\dots,N
该树以顶点11为根,顶点i2i \ge 2的父节点是顶点Pi(<i)P_i(<i)
对于每个整数k=1,2,,Nk=1,2,\dots,N,求解以下问题:

选择位于11kk之间编号的一些顶点,使得顶点11被选择的方式有2k12^{k-1}种。
有多少种方式满足以下条件:由选定顶点集合形成的子图是以顶点11为根的完全二叉树(其中dd是正整数,对应该完全二叉树的顶点数为2d12^d-1)?
由于计数可能非常大,将结果对998244353998244353取模后输出。

什么是诱导子图?

SS是图GG的顶点集的子集。由该顶点集SS诱导出的子图HH的构造如下:

  • HH的顶点集等于SS

  • 然后,我们按照以下方式向HH添加边:

  • 对于在SS中的所有顶点对(i,j)(i, j),满足i,jS,i<ji,j \in S, i < j,如果GG中存在连接iijj的边,则将顶点iijj之间添加一条边到HH中。

什么是完全二叉树?完全二叉树是满足以下条件的有根树:

  • 非叶节点每个都恰好有22个孩子。
  • 所有叶节点到根的距离相等。

在这里,我们还将只有11个顶点和00条边的图视为完全二叉树。

约束条件

  • 输入中的所有值都是整数。
  • 1N3×1051 \le N \le 3 \times 10^5
  • 1Pi<i1 \le P_i < i

输入

输入遵循以下格式,从标准输入中给出:

NN P2P_2 P3P_3 \dots PNP_N

输出

输出 NN 行。第 ii 行(1iN1 \le i \le N)应包含当 k=ik=i 时的整数答案。


示例输入 1

10
1 1 2 1 2 5 5 5 1

示例输出 1

1
1
2
2
4
4
4
5
7
10

应计数以下选择顶点的方式:

  • k1k \ge 1 时,1\\{1\\}
  • k3k \ge 3 时,1,2,3\\{1,2,3\\}
  • k5k \ge 5 时,1,2,5,1,3,5\\{1,2,5\\},\\{1,3,5\\}
  • k8k \ge 8 时,1,2,4,5,6,7,8\\{1,2,4,5,6,7,8\\}
  • k9k \ge 9 时,1,2,4,5,6,7,9,1,2,4,5,6,8,9\\{1,2,4,5,6,7,9\\},\\{1,2,4,5,6,8,9\\}
  • k=10k = 10 时,1,2,10,1,3,10,1,5,10\\{1,2,10\\},\\{1,3,10\\},\\{1,5,10\\}

示例输入 2

1

示例输出 2

1

如果 N=1N=1,则输入的第 22 行为空。


示例输入 3

10
1 2 3 4 5 6 7 8 9

示例输出 3

1
1
1
1
1
1
1
1
1
1

示例输入 4

13
1 1 1 2 2 2 3 3 3 4 4 4

示例输出 4

1
1
2
4
4
4
4
4
7
13
13
19
31