AT_tupc2024_i.Small Steps

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

对于一个包含 nn 个顶点、顶点编号为 11 到 nn 的树 tt,我们定义满足下列条件的排列 p=(p1,…,pn)p = (p_1, \dots, p_n)(pp 是 (1,…,n)(1, \dots, n) 的一个排列)有多少个,记作 f(t)f(t)。

  • 对于 i=1,…,ni = 1, \dots, n,连接顶点 pip_i 和顶点 pi+1p_{i+1} 的最短简单路径所经过的边数不超过 22(这里规定 pn+1=p1p_{n+1} = p_1)。

给定正整数 N,KN, K 以及顶点编号为 11 到 NN 的 NN 个顶点的树 T0T_0。T0T_0 的第 ii 条边连接顶点 AiA_i 和顶点 BiB_i。

将 KK 个 T0T_0 连接起来所得的树称为好树。更为正式地说,当且仅当顶点编号为 11 到 NKNK 的 NKNK 个顶点的树 TT 满足以下条件时,TT 是好树:

  • 对于所有满足 1≤i≤N−11 \le i \le N-1 且 0≤k≤K−10 \le k \le K-1 的整数对 (i,k)(i, k),TT 包含一条边连接顶点 (Ai+N×k)(A_i + N\times k) 和顶点 (Bi+N×k)(B_i + N\times k)。

请你求出所有好树 TT 的 f(T)f(T) 之和对 998244353998244353 取模的结果。

有 QQ 组测试数据,请你分别输出答案。

输入格式

输入以如下格式从标准输入读入。

QQ
case1\mathrm{case}_1
⋮\vdots
caseQ\mathrm{case}_Q

每组 casei\mathrm{case}_i 输入格式如下:

NN KK
A1A_1 B1B_1
⋮\vdots
AN−1A_{N-1} BN−1B_{N-1}

输出格式

输出共 QQ 行。第 ii 行输出第 ii 组测试数据的答案。

输入输出样例

  • 输入#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 个测试点,被计数的排列共有 88 种,分别是 (1,2,4,3)(1, 2, 4, 3)、(1,3,4,2)(1, 3, 4, 2)、(2,1,3,4)(2, 1, 3, 4)、(2,4,3,1)(2, 4, 3, 1)、(3,1,2,4)(3, 1, 2, 4)、(3,4,2,1)(3, 4, 2, 1)、(4,2,1,3)(4, 2, 1, 3)、(4,3,1,2)(4, 3, 1, 2)。

对于第 3 个测试点,需要求所有 44 个顶点的树 TT 的 f(T)f(T) 的总和。注意 T0T_0 可能不含任何边。

对于第 4 个测试点,作为好树的例子,如下图所示:

数据范围

  • 1≤Q≤2×1051\le Q\le 2\times 10 ^ 5
  • 1≤N≤2×1051\le N\le 2\times 10 ^ 5
  • 1≤K≤2×1051\le K\le 2\times 10 ^ 5
  • 1≤Ai<Bi≤N1\le A_i < B_i \le N
  • 所有输入文件中 NN 的总和不超过 2×1052\times 10^5
  • 输入给定的图均为树
  • 输入全部为整数

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页