AT_arc170_c [ARC170C] Prefix Mex Sequence
题目描述
对于一个由有限个非负整数组成的数列 $X$,定义 $\mathrm{mex}(X)$ 为不属于 $X$ 的最小非负整数。例如,$\mathrm{mex}((0,0,1,3))=2$,$\mathrm{mex}((1))=0$,$\mathrm{mex}(())=0$。
给定一个长度为 $N$ 的数列 $S=(S_1,\ldots,S_N)$,其中每个元素 $S_i$ 都是 $0$ 或 $1$。
请计算满足以下条件的长度为 $N$ 的数列 $A=(A_1,A_2,\ldots,A_N)$ 的个数,并对 $998244353$ 取模:
- $A$ 的每个元素都是 $0$ 到 $M$ 之间的整数(包含 $0$ 和 $M$)。
- 对于每个 $i$($1\leq i\leq N$),如果 $S_i=1$,则 $A_i=\mathrm{mex}((A_1,A_2,\ldots,A_{i-1}))$;如果 $S_i=0$,则 $A_i\neq\mathrm{mex}((A_1,A_2,\ldots,A_{i-1}))$。
输入格式
输入通过标准输入给出,格式如下:
> $N$ $M$ $S_1$ $S_2$ $\ldots$ $S_N$
输出格式
输出满足条件的数列个数对 $998244353$ 取模的结果。
说明/提示
### 限制条件
- $1\leq N\leq 5000$
- $0\leq M\leq 10^9$
- $S_i$ 为 $0$ 或 $1$
- 输入的所有数均为整数
### 样例解释 1
满足条件的数列共有 $4$ 个:
- $(0,0,0,1)$
- $(0,0,2,1)$
- $(0,2,0,1)$
- $(0,2,2,1)$
### 样例解释 2
请注意,答案需要对 $998244353$ 取模。
由 ChatGPT 4.1 翻译