AT_tupc2024_i.Small Steps
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
对于一个包含 n 个顶点、顶点编号为 1 到 n 的树 t,我们定义满足下列条件的排列 p=(p1,…,pn)(p 是 (1,…,n) 的一个排列)有多少个,记作 f(t)。
- 对于 i=1,…,n,连接顶点 pi 和顶点 pi+1 的最短简单路径所经过的边数不超过 2(这里规定 pn+1=p1)。
给定正整数 N,K 以及顶点编号为 1 到 N 的 N 个顶点的树 T0。T0 的第 i 条边连接顶点 Ai 和顶点 Bi。
将 K 个 T0 连接起来所得的树称为好树。更为正式地说,当且仅当顶点编号为 1 到 NK 的 NK 个顶点的树 T 满足以下条件时,T 是好树:
- 对于所有满足 1≤i≤N−1 且 0≤k≤K−1 的整数对 (i,k),T 包含一条边连接顶点 (Ai+N×k) 和顶点 (Bi+N×k)。
请你求出所有好树 T 的 f(T) 之和对 998244353 取模的结果。
有 Q 组测试数据,请你分别输出答案。
输入格式
输入以如下格式从标准输入读入。
Q
case1
⋮
caseQ
每组 casei 输入格式如下:
N K
A1 B1
⋮
AN−1 BN−1
输出格式
输出共 Q 行。第 i 行输出第 i 组测试数据的答案。
输入输出样例
输入#1
5 4 1 1 2 1 3 1 4 4 1 1 2 2 3 3 4 1 4 4 2 1 2 1 3 1 4 6 200000 1 3 2 3 3 4 4 5 4 6
输出#1
24 8 192 2304 210217795
说明/提示
样例说明 1
对于第 1 个测试点,由于所有简单路径都只包含至多 2 条边,因此所有可能的排列均被计数。
对于第 2 个测试点,被计数的排列共有 8 种,分别是 (1,2,4,3)、(1,3,4,2)、(2,1,3,4)、(2,4,3,1)、(3,1,2,4)、(3,4,2,1)、(4,2,1,3)、(4,3,1,2)。
对于第 3 个测试点,需要求所有 4 个顶点的树 T 的 f(T) 的总和。注意 T0 可能不含任何边。
对于第 4 个测试点,作为好树的例子,如下图所示:

数据范围
- 1≤Q≤2×105
- 1≤N≤2×105
- 1≤K≤2×105
- 1≤Ai<Bi≤N
- 所有输入文件中 N 的总和不超过 2×105
- 输入给定的图均为树
- 输入全部为整数
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?