#P9198. 有根树同构分类(Rooted Tree Isomorphism Classification)
有根树同构分类(Rooted Tree Isomorphism Classification)

有根树同构分类(Rooted Tree Isomorphism Classification)
问题描述
给定一棵含 个顶点的有根树,根为顶点 ;顶点 ()的父节点为 。
通过选择一个顶点作为新根,可得到 棵有根子树(以该顶点为根的子树)。
请将这 棵子树按有根树同构关系分类,并输出:
- 一个整数 :不同同构类的数量;
- 一个长度为 的整数序列 ,其中 表示以顶点 为根的子树所属的同构类编号(满足 ),且对任意 ,有$$a_i = a_j \iff \text{以 } i \text{ 和 } j \text{ 为根的子树同构}.$$
约束条件
输入格式
输出格式
若存在多个合法解,输出任意一个即可。
11
0 1 1 2 2 0 6 6 8 8
4
3 2 1 0 0 0 2 0 1 0 0
5
0 1 2 3
5
4 3 2 1 0