AT_arc149_e.[ARC149E] Sliding Window Sort
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定正整数 N、M、K。考虑对正整数序列 A=(A0,…,AN−1) 进行如下操作:
- 按照 k=0,1,…,K−1 的顺序,依次进行以下操作:
- 将 AkmodN, A(k+1)modN, …, A(k+M−1)modN 升序排序。也就是说,将 AkmodN, A(k+1)modN, …, A(k+M−1)modN 按从小到大排列为 (x0,…,xM−1) 时,对于每个 0≤j<M,用 xj 替换 A(k+j)modN。
给定一个由 1 到 N 之间的整数构成的排列 B=(B0,…,BN−1)。请你计算有多少个正整数序列 A,使得经过上述操作后,A 恰好变为 B。请将答案对 998244353 取模后输出。
输入格式
输入以如下格式从标准输入读入:
N M K B0 B1 … BN−1
输出格式
输出满足条件的正整数序列 A 的个数,对 998244353 取模后的结果。
输入输出样例
输入#1
6 3 5 6 4 2 3 1 5
输出#1
18
输入#2
6 3 5 6 5 4 3 2 1
输出#2
0
输入#3
20 20 149 13 14 15 16 17 18 19 20 1 2 3 4 5 6 7 8 9 10 11 12
输出#3
401576539
说明/提示
限制条件
- 2≤N≤3×105
- 2≤M≤N
- 1≤K≤109
- 1≤Bi≤N
- 如果 i=j,则 Bi=Bj
样例解释 1
例如 A=(4,1,5,6,2,3) 满足条件。对于该 A,操作过程如下:
- k=0 时,A 变为 (1,4,5,6,2,3)。
- k=1 时,A 变为 (1,4,5,6,2,3)。
- k=2 时,A 变为 (1,4,2,5,6,3)。
- k=3 时,A 变为 (1,4,2,3,5,6)。
- k=4 时,A 变为 (6,4,2,3,1,5),与 B 一致。
样例解释 2
不存在满足条件的 A。
样例解释 3
所有由 1 到 20 组成的排列都满足条件。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?