A3511 「CCO 2025」Tree Decorations

暂无评定 传统题 CCO(加拿大) 上传者
时间限制2000ms
内存限制2048MiB
通过 / 提交0/0

A3511「CCO 2025」Tree Decorations

暂无评定 传统题 CCO(加拿大) 上传者
时间限制2000ms
内存限制2048MiB
通过 / 提交0/0

题目描述

译自 CCO 2025 Day1 T2「Tree Decorations」。

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

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

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

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

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

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

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

否则,AA 和 BB 被认为在结构上不同。

输入格式

第一行包含两个用空格分隔的整数 NN 和 MM。

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

输出格式

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

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

1

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

可以通过以下方式得到 TT:

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

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 的限制
11 88 2≤N≤102 \leq N \leq 10 M=1M=1
22 1212 2≤N≤2002 \leq N \leq 200
33 88 2≤N≤5000002 \leq N \leq 500000
44 2424 2≤N≤2002 \leq N \leq 200 1≤M<N1 \leq M < N
55 1616 2≤N≤20002 \leq N \leq 2000
66 3232 2≤N≤5000002 \leq N \leq 500000