#ATfps24l. Permutation 2

    ID: 9082 传统题 2000ms 1024MiB 尝试: 3 已通过: 2 难度: 10 上传者: 标签>普及+/提高−动态规划 DP前缀和生成函数

Permutation 2

AT_fps_24_l 順列 2

题目描述

给定一个整数 NN

考虑 (1,2,,N) (1, 2, \dots, N) 的排列 p=(p1,p2,,pN) p = (p_1, p_2, \dots, p_N)

请计算有多少个排列 pp 满足下述条件,并输出结果对 998244353998244353 取模。

  • 对于所有满足 1iN1 \leq i \leq N 的整数 ii,都要有 ppiip_{p_i} \neq i

输入格式

输入的格式如下:

NN

输出格式

输出满足条件的排列数,结果对 998244353998244353 取模。

输入输出样例 #1

输入 #1

3

输出 #1

2

输入输出样例 #2

输入 #2

123456

输出 #2

916370671

说明/提示

样例解释 1

满足条件的排列 pp 有以下 22 个:

  • (2,3,1)(2,3,1)
  • (3,1,2)(3,1,2)

数据范围

  • 1N2.5×1051 \leq N \leq 2.5 \times 10^5
  • NN 是一个整数。

由 ChatGPT 5 翻译