#loj5332. 「清华集训 2024」颠倒歌

「清华集训 2024」颠倒歌

AdditionalFile5332.zip

#5332. 「清华集训 2024」颠倒歌

标签: 传统 | 时间限制: 3000 ms | 内存限制: 512 MiB |

题目描述

对于树 T(V,E)T(V, E)SVS \subseteq V,记 f(S,T)f(S, T) 表示 TT 的对 SS 的导出子图(即仅保留 SS 中的点和两端都在 SS 中的边得到的图)中度数小于等于 11 的点的数量。

对于两棵树 T1(V1,E1),T2(V2,E2)T_1(V_1, E_1), T_2(V_2, E_2),若 V1=V2V_1 = V_2,我们称 T1T2T_1 \preccurlyeq T_2 当且仅当对于任意 S2V2S_2 \subseteq V_2,存在 S1S_1 满足 S2S1V1S_2 \subseteq S_1 \subseteq V_1f(S1,T1)f(S2,T2)f(S_1, T_1) \le f(S_2, T_2)

T1,T2T_1, T_2 等价当 T1T2T_1 \preccurlyeq T_2T2T1T_2 \preccurlyeq T_1,记作 T1T2T_1 \sim T_2。该等价关系将 nn 个点的有标号树划分成若干等价类。

问:

  1. 给定 kknn 个点的树 T1,T2,TkT_1, T_2 \dots , T_k,求满足 TTi,1ikT \preccurlyeq T_i, \forall 1 \le i \le k有标号树 TT 构成的等价类数量。
  2. 给定 kknn 个点的树 T1,T2,TkT_1, T_2 \dots , T_k,求满足 TiT,1ikT_i \preccurlyeq T, \forall 1 \le i \le k有标号树 TT 数量。

注意两问的计数对象不同。两问答案均对 998,244,353998, 244, 353 取模。

保证答案取模后非 00

输入格式

从标准输入读入数据。

输入第一行一个整数 pp,其中 p{0,1}p \in \{0, 1\}p=0p = 0 表示询问第一问,否则表示询问第二问。

接下来一行两个正整数 k,nk, n,分别表示输入树的数量以及点数。

接下来依次输入 kk 棵树,对于每棵树输入 n1n - 1 行每行两个正整数 u,vu, v 描述树中的一条边。

输出格式

输出到标准输出。

输出一行一个整数表示答案对 998,244,353998, 244, 353 取模后的结果。

样例 1

输入

0
1 4
1 2
1 3
1 4

输出

2

可以证明 44 个点的有标号树被划分成了 55 个等价类,所有的链在同一个等价类,而其它分别以每个点为菊花中心对应一个等价类。

可以验证链对应的等价类和该树本身所在的等价类均满足要求,而其他等价类不满足要求。

样例 2

输入

1
1 4
1 2
2 3
3 4

输出

16

可以验证所有 44 个点的有标号树共 1616 个均满足要求。

样例 3

见题目目录下的 3.in3.ans

样例 4

见题目目录下的 4.in4.ans

样例 5

见题目目录下的 5.in5.ans

样例 6

见题目目录下的 6.in6.ans

样例 7

见题目目录下的 7.in7.ans

样例 8

见题目目录下的 8.in8.ans

样例 9

见题目目录下的 9.in9.ans

样例 10

见题目目录下的 10.in10.ans

子任务

对于所有数据,保证 p{0,1}p \in \{0, 1\}3n50003 \le n \le 50001k10001 \le k \le 10001u,vn1 \le u, v \le n,答案取模后不等于 00

子任务编号 pp nn kk 树形态 分数
11 {0,1}\in\{0,1\} 8\le 8 4\le 4 无特殊形态 1010
22 =0=0 200\le 200 1\le 1 菊花 44
33 无特殊形态 88
44 2\le 2 99
55 40\le 40 1010
66 5,000\le 5,000 103\le 10^3 1414
77 =1=1 200\le 200 1\le 1 77
88 无特殊形态 77
99 2\le 2 1010
1010 40\le 40 1010
1111 5,000\le 5,000 103\le 10^3 1111

“树形态”中,“菊花”指存在一个向所有点有直接连边的点,“链”指所有点度数不超过 22