#L5140. 「CCO 2025」Tree Decorations

「CCO 2025」Tree Decorations

题目描述

译自 CCO 2025 Day1 T2「Tree Decorations」。

Mateo 最近为他的圣诞树找到了完美的装饰——更多的树!

具体来说,他的圣诞树是一棵有根树 TT,初始有 MM 个节点,全部被涂成绿色。他还有另一棵有根树 DD,用作装饰的参考。Mateo 按照以下过程来放置他的装饰:

  1. 对于 DD 中的每个节点 ii,他会复制以 ii 为根的子树,记这份复制为 CiC_i
  2. 然后,他将 CiC_i 中的节点涂成红色。
  3. 最后,他选择 TT 中的某个绿色节点作为 CiC_i 根节点的父节点,并通过一条边将它们连接起来。

在完成所有装饰后,TT 最终包含 NN 个节点。不幸的是,他发现自己忘了记录 DD 的具体结构!更糟的是,他不小心把水洒在了 TT 上,洗掉了所有节点的颜色。此后,他将 TT 的根节点标记为 11,并将其他节点从 22NN 依次编号。

目前他唯一的信息是 TT 的最终状态以及 MM 的值。请帮助他计算出最初可能使用的 DD 的数量,其中如果两个 DD 在结构上不同,则认为它们是不同的可能性。

有根树 AABB 被认为在结构上相同,当且仅当它们有相同数量的节点 SS,并且存在一种方式将 AA 的节点从 11SS 编号,同样将 BB 的节点从 11SS 编号,使得:

  • 它们的根节点编号相同。
  • AA 中编号为 xxyy 的节点之间有边,当且仅当在 BB 中编号为 xxyy 的节点之间也有边。

否则,AABB 被认为在结构上不同。


输入格式

第一行包含两个用空格分隔的整数 NNMM

接下来的 N1N-1 行,每行包含两个用空格分隔的整数 uiu_iviv_i (1ui,viN,uivi)(1 \leq u_i, v_i \leq N, u_i \neq v_i),描述 TT 中连接节点 uiu_iviv_i 的一条边。注意 TT 的根节点为 11


输出格式

输出一个整数,表示 Mateo 最初可能使用的 DD 的数量,其中如果两个 DD 在结构上不同,则认为它们是不同的可能性。


样例 1

输入:

8 3
1 2
1 3
1 4
2 5
2 6
3 7
3 8

输出:

1

可以证明,唯一可能的 DD 是:

可以通过以下方式得到 TT

在上图中,红色部分是作为装饰添加的部分,而绿色填充部分表示 TT 的初始状态。虚线表示连接装饰和树的边。


样例 2

输入:

14 5
1 2
1 3
3 4
3 5
1 6
6 7
7 8
7 9
2 10
10 11
10 12
10 13
10 14

输出:

2

DD 的第一种可能性是:

使用这种可能性,可以通过以下方式得到 TT

DD 的第二种可能性是:

使用这种可能性,可以通过以下方式得到 TT


数据范围与提示

详细子任务附加限制及分值如下表所示。

子任务 分值 NN 的限制 MM 的限制
1 8 2N102 \leq N \leq 10 M=1M=1
2 12 2N2002 \leq N \leq 200
3 8 2N5000002 \leq N \leq 500000
4 24 2N2002 \leq N \leq 200