B. 艾特扣德

    Type: Default File IO: atcoder 1000ms 512MiB

艾特扣德

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

本题大样例

给定正整数 n,mn, m,以及长度为 mm,值域为 [0,n1][0, n - 1] 的整数序列 a1,a2,,ama_1,a_2,\dots,a_m。保证 aa 中元素互不相同。

你需要计算满足以下要求的 0,1,,n10, 1, \dots, n - 1 的排列 pp 的数量:

  • 能够经过任意次以下操作,使 p=ap = a

    • 选择 1lrp1 \le l \le r \le |p| 的两个数 l,rl, r,如果 mex({pl,pl+1,,pr})\mathrm{mex}(\{p_l, p_{l + 1}, \dots, p_r\}) 存在于序列 pp 中,则将 pl,pl+1,,prp_l,p_{l+1},\dots,p_r 删除。
    • 对于一个集合 ss,定义 mex(s)\mathrm{mex}(s) 表示最小的不在 ss 中的非负整数。

由于答案可能很大,所以你只需要求出答案对 998244353998244353 取模后的结果。

本题有多组测试数据。

输入描述

第一行一个正整数 tt,表示测试数据组数。

接下来依次输入每组测试数据,对于每组测试数据:

第一行两个正整数 n,mn,m

第二行 mm 个非负整数,描述 a1,a2,,ama_1,a_2,\dots,a_m。保证 0ai<n0\le a_i<naa 中元素互不相同

输出描述

tt 行,每行一个非负整数,表示满足条件的排列 pp 的数量对 998244353998244353 取模后的结果。

样例输入

3
3 2
2 1
3 1
2
3 1
0

样例输出

3
4
6

样例解释

__样例 2,3,4,5,62,3,4,5,6:__见下发文件。对于样例 i(2i6)i(2\le i\le 6),满足测试点 (i1)(i-1) 的限制。

对于 100%100\% 的数据,保证 1mn106,m106,0ai<n1\le m\le n\le 10^6,\sum m\le 10^6,0\le a_i<naa 中元素互不相同。

注意, n\sum n 没有限制。

测试点编号 特殊性质
11 n5,t100n\le 5,t\le 100
22 m=1m=1
33 存在 1im1\le i\le m 满足 ai=0a_i=0
44 存在 1im1\le i\le m 满足 ai1a_i\le 1
55

2025 NOIP模拟赛 Round 4

Not Attended
Status
Done
Rule
OI
Problem
4
Start at
2025-9-27 8:30
End at
2025-9-29 0:30
Duration
40 hour(s)
Host
Partic.
11