MEX Sequences

题意翻译

**题目描述:** 我们定义一个整数序列 $x_{1}, x_{2}, \ldots, x_{k}$ “MEX 正确”,当且仅当: 对于每一个 $i$($1 \le i \le k$),都满足 $\lvert x_{i} − \operatorname{MEX}(x_{1},x_{2}, \ldots , x_{i})\rvert \le 1$。 其中,$\operatorname{MEX}(x_{1},x_{2},\ldots,x_{k})$ 即整数序列 $x_{1},x_{2},\ldots,x_{k}$ 中未出现的最小非负整数。例如,$\operatorname{MEX}(1,0,1,3)=2$、$\operatorname{MEX}(2,1,5)=0$。 给定一个由 $n$ 个非负整数组成的数组 $a$。计算给定数组的非空 “MEX 正确” 子序列的数量。子序列的数量可能非常大,因此请将答案对 $998244353$ 取模后输出。 注意:数组 $a$ 的子序列即满足 $1 \le i_{1} < i_{2} < \cdots < i_{m} \le n$ 的序列 $a_{i_{1}}, a_{i_{2}}, \ldots, a_{i_{m}}$。我们认为,当两个子序列中至少存在一个元素在原数组中的下标不同时,这两个子序列不同(即两个子序列所对应的$i_{1}, i_{2}, \ldots, i_{m}$ 不同时,这两个子序列不同)。 **输入格式:** 第一行一个数 $t$($1 \le t \le {10}^5$),表示测试数据组数。 每组数据第一行一个整数 $n$($1 \le n \le 5 \times {10}^5$)。 第二行 $n$ 个整数 $a_{1},a_{2},\ldots,a_{n}$($0 \le a_{i} \le n$)。 所有测试数据的 $n$ 的总和不超过 $5 \cdot {10}^5$。 **输出格式:** 对于每组数据,输出一个整数,即给定数组的非空 MEX 正确子序列的数量对 $998244353$ 取模的结果。 **样例说明:** 在样例的 $4$ 组数据中: 第一组中,可行的子序列是 $[0] , [1] , [0,1]$ 和 $[0,2]$。 第一组中,可行的子序列是 $[0] , [1]$。 第三组中,每个非空子序列都是可行的。

题目描述

Let's call a sequence of integers $ x_1, x_2, \dots, x_k $ MEX-correct if for all $ i $ ( $ 1 \le i \le k $ ) $ |x_i - \operatorname{MEX}(x_1, x_2, \dots, x_i)| \le 1 $ holds. Where $ \operatorname{MEX}(x_1, \dots, x_k) $ is the minimum non-negative integer that doesn't belong to the set $ x_1, \dots, x_k $ . For example, $ \operatorname{MEX}(1, 0, 1, 3) = 2 $ and $ \operatorname{MEX}(2, 1, 5) = 0 $ . You are given an array $ a $ consisting of $ n $ non-negative integers. Calculate the number of non-empty MEX-correct subsequences of a given array. The number of subsequences can be very large, so print it modulo $ 998244353 $ . Note: a subsequence of an array $ a $ is a sequence $ [a_{i_1}, a_{i_2}, \dots, a_{i_m}] $ meeting the constraints $ 1 \le i_1 < i_2 < \dots < i_m \le n $ . If two different ways to choose the sequence of indices $ [i_1, i_2, \dots, i_m] $ yield the same subsequence, the resulting subsequence should be counted twice (i. e. two subsequences are different if their sequences of indices $ [i_1, i_2, \dots, i_m] $ are not the same).

输入输出格式

输入格式


The first line contains a single integer $ t $ ( $ 1 \le t \le 10^5 $ ) — the number of test cases. The first line of each test case contains a single integer $ n $ ( $ 1 \le n \le 5 \cdot 10^5 $ ). The second line contains $ n $ integers $ a_1, a_2, \dots, a_n $ ( $ 0 \le a_i \le n $ ). The sum of $ n $ over all test cases doesn't exceed $ 5 \cdot 10^5 $ .

输出格式


For each test case, print a single integer — the number of non-empty MEX-correct subsequences of a given array, taken modulo $ 998244353 $ .

输入输出样例

输入样例 #1

4
3
0 2 1
2
1 0
5
0 0 0 0 0
4
0 1 2 3

输出样例 #1

4
2
31
7

说明

In the first example, the valid subsequences are $ [0] $ , $ [1] $ , $ [0,1] $ and $ [0,2] $ . In the second example, the valid subsequences are $ [0] $ and $ [1] $ . In the third example, any non-empty subsequence is valid.