AT_abc226_f.[ABC226F] Score of Permutations

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

给定一个长度为 NN 的排列 P=(p1,p2,…,pN)P = (p_1, p_2, \dots, p_N),它是 1,2,…,N1,2,\dots,N 的一个排列。定义排列 PP 的分数 S(P)S(P) 如下:

  • 有 NN 个人和すぬけ君,这 NN 个人编号为 1,2,…,N1,2,\dots,N。一开始,第 ii 个人(1≤i≤N1 \leq i \leq N)手里拿着编号为 ii 的球。
    每当すぬけ君喊叫一次,所有满足 i≠pii \neq p_i 的人 ii 会同时把自己手里的球传给第 pip_i 个人。
    当すぬけ君喊叫至少一次后,所有人 ii 都拿回了编号为 ii 的球时,すぬけ君就会停止喊叫。
    すぬけ君喊叫的总次数就是该排列的分数。保证分数一定是有限的。

所有可能的 PP 有 N!N! 种。请计算所有排列的分数的 KK 次幂之和对 998244353998244353 取模的结果。

  • 更严格地说,设所有 1,2,…,N1,2,\dots,N 的排列的集合为 SNS_N,则需计算

    (∑P∈SNS(P)K) mod 998244353\left(\sum_{P \in S_N} S(P)^K \right) \bmod 998244353

输入格式

输入为一行,包含两个整数。

NN KK

输出格式

输出 (∑P∈SNS(P)K) mod 998244353\left(\sum_{P \in S_N} S(P)^K \right) \bmod 998244353 的值。

输入输出样例

  • 输入#1

    2 2

    输出#1

    5
  • 输入#2

    3 3

    输出#2

    79
  • 输入#3

    50 10000

    输出#3

    77436607

说明/提示

数据范围

  • 2≤N≤502 \leq N \leq 50
  • 1≤K≤1041 \leq K \leq 10^4
  • 输入均为整数。

样例解释 1

当 N=2N=2 时,所有可能的排列为 (1,2)(1,2) 和 (2,1)(2,1) 共两种。排列 (1,2)(1,2) 的分数如下:

  • 一开始,第 11 个人拿着球 11,第 22 个人拿着球 22。
    すぬけ君第一次喊叫后,第 11 个人仍然拿着球 11,第 22 个人仍然拿着球 22。
    此时所有人都拿回了自己编号的球,すぬけ君停止喊叫。分数为 11。
    排列 (2,1)(2,1) 的分数如下:
  • 一开始,第 11 个人拿着球 11,第 22 个人拿着球 22。
    すぬけ君第一次喊叫后,第 11 个人拿着球 22,第 22 个人拿着球 11。
    すぬけ君第二次喊叫后,第 11 个人拿着球 11,第 22 个人拿着球 22。
    此时所有人都拿回了自己编号的球,すぬけ君停止喊叫。分数为 22。
    因此 12+22=51^2 + 2^2 = 5,这就是本题的答案。

样例解释 2

枚举所有排列及其分数如下:

  • 排列: (1,2,3)(1,2,3),分数: 11
  • 排列: (1,3,2)(1,3,2),分数: 22
  • 排列: (2,1,3)(2,1,3),分数: 22
  • 排列: (2,3,1)(2,3,1),分数: 33
  • 排列: (3,1,2)(3,1,2),分数: 33
  • 排列: (3,2,1)(3,2,1),分数: 22
    因此 13+23+23+33+33+23=791^3 + 2^3 + 2^3 + 3^3 + 3^3 + 2^3 = 79,输出 7979。

由 ChatGPT 4.1 翻译

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

首页