AT_arc112_e.[ARC112E] Cigar Box

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

对于数列 (1,2,…,n)(1,2,\dots,n),经过恰好 mm 次如下操作后,变成了 (a1,…,an)(a_1,\dots,a_n)。

  • 选择一个项并将其删除。然后,将被删除的项添加到数列的开头或末尾。

请你求出,作为 mm 次操作序列可能的方案数,模 998244353998244353 的余数。

这里,两个操作序列相同,当且仅当“每一步所选的项和添加的位置都相同”。

输入格式

输入以如下格式从标准输入给出。

nn mm a1a_1 …\dots ana_n

输出格式

输出作为操作序列可能的方案数,模 998244353998244353 的余数。

输入输出样例

  • 输入#1

    5 2
    1 2 4 5 3

    输出#1

    5
  • 输入#2

    2 16
    1 2

    输出#2

    150994942
  • 输入#3

    10 3000
    3 7 10 1 9 5 4 8 6 2

    输出#3

    129989699

说明/提示

限制条件

  • 2≤n≤30002 \leq n \leq 3000
  • 1≤m≤30001 \leq m \leq 3000
  • a1,…,ana_1,\dots,a_n 是 1,…,n1,\dots,n 的一个排列

样例解释 1

存在以下 55 种可能的操作序列。

  • 删除 11 并将其添加到开头。数列变为 (1,2,3,4,5)(1,2,3,4,5)。然后,删除 33 并将其添加到末尾。数列变为 (1,2,4,5,3)(1,2,4,5,3)。
  • 删除 33 并将其添加到开头。数列变为 (3,1,2,4,5)(3,1,2,4,5)。然后,删除 33 并将其添加到末尾。数列变为 (1,2,4,5,3)(1,2,4,5,3)。
  • 删除 33 并将其添加到末尾。数列变为 (1,2,4,5,3)(1,2,4,5,3)。然后,删除 11 并将其添加到开头。数列变为 (1,2,4,5,3)(1,2,4,5,3)。
  • 删除 33 并将其添加到末尾。数列变为 (1,2,4,5,3)(1,2,4,5,3)。然后,删除 33 并将其添加到末尾。数列变为 (1,2,4,5,3)(1,2,4,5,3)。
  • 删除 55 并将其添加到末尾。数列变为 (1,2,3,4,5)(1,2,3,4,5)。然后,删除 33 并将其添加到末尾。数列变为 (1,2,4,5,3)(1,2,4,5,3)。

样例解释 2

在 44 种操作中,有 22 种操作不会改变数列,另外 22 种操作会交换 22 个元素。因此,所有操作序列中有一半(即 4m/2=231=21474836484^m/2 = 2^{31} = 2147483648)是满足条件的。于是,21474836482147483648 除以 998244353998244353 的余数 150994942150994942 就是答案。

由 ChatGPT 4.1 翻译

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

首页