编程题
### 问题描述 对于一个给定的整数集合 $S$,$\text{MEX(S)}$ 定义为不属于 $S$​ 的最小非负整数。 例如:对于集合 $S=\lbrace 0,1,2,4 \rbrace$,$\text{MEX(S)} = 3$,因为 $3$ 是最小的未出现在集合 $S$​ 中的非负整数。 现在小蓝有一个大小为 $N$ 的**可重集** $S$,同时他会给出 $Q$ 个询问,每次询问将会给出一个整数 $K$,请你回答有多少个不同的**非空**集合 $A$ 满足以下要求: - $\text{MEX(A)}=K$。 - $A$ 是 $S$ 的子集,即满足 $A \subseteq S$​​​。 由于答案可能很大,你需要将答案对 $998244353$​ 取模后进行输出。 注意:若两个集合的数在 $S$ 中所属的下标不同,则视为不同的集合。 ### 输入格式 第一行输入两个整数 $N,Q(1 \leq N,Q \leq 10^5)$ 表示集合 $S$ 的大小和询问的数量。 第二行输入 $N$ 个整数 $S_1,S_2,S_3,\cdots ,S_n(0 \leq S_i \leq N-1)$ 表示集合 $S$。 接下来 $Q$ 行,每行输入一个整数 $K(0 \leq K \leq N)$ 表示询问。 ### 输出格式 输出 $Q$ 行,每行一个整数表示答案。 ### 输入样例 ```text 5 3 0 1 2 3 3 2 4 5 ``` ### 输出样例 ```text 4 3 0 ``` ### 说明 对于第二个查询 $K=4$ 时,集合 $\lbrace S_1,S_2,S_3,S_4\rbrace$,$\lbrace S_1,S_2,S_3,S_5\rbrace$,$\lbrace S_1,S_2,S_3,S_4,S_5\rbrace$ 符合条件。
查看答案
赣ICP备20007335号-2