AT_utpc2023_m Majority and Permutation
题目描述
给定一个长度为 $M$ 的整数序列 $(A_1,A_2,\dots,A_M)$,其中 $A_i$ 全部是 $1$ 到 $2N-1$ 之间的奇数。
请计算有多少个满足以下条件的 $(1,2,\dots,2N)$ 的排列 $P=(P_1,P_2,\dots,P_{2N})$,将结果对 $998244353$ 取模。
对于每个满足条件的排列 $P$,都存在一个只由字符 `0` 和 `1` 组成、长度为 $2N$ 的字符串 $S$,满足下列全部条件:
- $S$ 是一个有 $N$ 个 `0` 和 $N$ 个 `1` 组成的字符串。
- 对于每个 $i=1,2,\dots,M$,$S$ 的前 $A_i$ 个字符中,`0` 的数量大于 `1`,即在这 $A_i$ 个字符里,`0` 的数量最多。
- 对于每个 $i=1,2,\dots,M$,在 $S$ 的第 $P_1,P_2,\dots,P_{A_i}$ 个字符中,`0` 的数量也最多。
输入格式
输入通过标准输入提供,格式如下:
> $N$ $M$ $A_1$ $A_2$ $\dots$ $A_M$
输出格式
输出一个整数,表示满足条件的排列数量对 $998244353$ 取模的结果。
说明/提示
### 样例解释 1
例如当 $P=(2,1,3,4)$ 时,选择 $S=0011$,可以满足全部三个条件。
另一方面,当 $P=(4,3,2,1)$ 时,不存在满足所有条件、长度为 $4$ 的字符串。
### 数据范围
- 输入均为整数
- $1 \leq M \leq N \leq 10^{5}$
- $1 \leq A_1 < A_2 < \dots < A_M \leq 2N-1$
- $A_i$ 均为奇数。
由 ChatGPT 5 翻译