AT_arc178_d.[ARC178D] Delete Range Mex

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

给定一个正整数 NN 和一个长度为 MM 的非负整数序列 A=(A1,A2,…,AM)A=(A_{1},A_{2},\dots,A_{M})。

这里,AA 的所有元素都是大于等于 00 且小于 NN 的整数,并且互不相同。

请计算有多少个 (0,1,…,N−1)(0,1,\dots,N-1) 的排列 PP 满足以下条件,并输出答案对 998244353998244353 取模后的结果。

  • 将数列 B=(B1,B2,…,BN)B=(B_{1},B_{2},\dots,B_{N}) 用 PP 初始化后,可以通过任意次数以下操作将 BB 变为 AA:
    • 选择满足 1≤l≤r≤∣B∣1\leq l\leq r\leq |B| 的 l,rl,r,如果 mex({Bl,Bl+1,…,Br})\mathrm{mex}(\{B_{l},B_{l+1},\dots,B_{r}\}) 在 BB 中出现,则将其从 BB 中删除。

mex(X)\mathrm{mex}(X) 的定义如下:对于由非负整数组成的有限集合 XX,mex(X)\mathrm{mex}(X) 是满足 x∉Xx\notin X 的最小非负整数 xx。

输入格式

输入从标准输入中给出,格式如下:

NN MM A1A_{1} A2A_{2} ⋯\cdots AMA_{M}

输出格式

请输出答案。

输入输出样例

  • 输入#1

    4 2
    1 3

    输出#1

    8
  • 输入#2

    4 4
    0 3 2 1

    输出#2

    1
  • 输入#3

    16 7
    9 2 4 0 1 6 7

    输出#3

    3520
  • 输入#4

    92 4
    1 67 16 7

    输出#4

    726870122

说明/提示

限制条件

  • 1≤M≤N≤5001\leq M\leq N\leq 500
  • 0≤Ai<N0\leq A_{i}<N
  • AA 的元素互不相同
  • 所有输入均为整数

样例解释 1

将 B=(2,1,0,3)B=(2,1,0,3) 初始化后,可以按以下步骤将 BB 变为 AA:

  • 选择 (l,r)=(2,4)(l,r)=(2,4),从 BB 中删除 mex({1,0,3})=2\mathrm{mex}(\{1,0,3\})=2,此时 B=(1,0,3)B=(1,0,3)。
  • 选择 (l,r)=(3,3)(l,r)=(3,3),从 BB 中删除 mex({3})=0\mathrm{mex}(\{3\})=0,此时 B=(1,3)B=(1,3)。
    因此,P=(2,1,0,3)P=(2,1,0,3) 满足条件。满足条件的 PP 一共有 88 种,因此输出 88。

样例解释 2

只有 P=(0,3,2,1)P=(0,3,2,1) 满足条件。

样例解释 4

请输出答案对 998244353998244353 取模后的结果。

由 ChatGPT 4.1 翻译

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

首页