「LAOI-4」Mex Tower (Hard ver.)
题目背景
**本题与 Easy Version 的区别为本题需判断方案的合法性。**
**保证本题所有的测试点时空限制均为 std 的 $2.5$ 倍及以上**。
题目描述
定义 $\operatorname{mex}(x, y)$ 表示在集合 $\{x, y\}$ 中最小的未出现的 **自然数**。例如,$\operatorname{mex}(1, 5) = 0$,$\operatorname{mex}(3, 0) = 1$。
继而,我们定义对自然数序列 $a_1\dots a_n$ 的一次操作,是将序列 $a$ 替换为 **长度为 $\bm{n - 1}$ 的** 序列 $a'_1\dots a'_{n-1}$,其中 $a'_i = \operatorname{mex}(a_i, a_{i+1})$。
一个长度为 $n$ 的整数序列 $a_1\dots a_n$,满足 $0 \leq a_i \leq 10^9$;然后依次对它进行 $n - 1$ 次操作。显然最终序列 $a$ 只会剩下一个数,定义这最终一个数的值成为 **该序列的价值**,记为 $f(a)$。
请问对于给定的 $n$ 和 $a$ 序列,是否对于所有长度为 $n$ 的自然数序列 $b$,$f(a)\ge f(b)$。
输入输出格式
输入格式
**本题有多组数据。**
第一行一个正整数 $T$,表示数据组数。
对于每组数据,第一行一个正整数 $n$。
接下来 $n$ 个整数,表示序列 $a$。
输出格式
对于每组数据,一行一个字符串 `Yes` 或 `No`。
输入输出样例
输入样例 #1
2
2
0 1
3
1 0 2
输出样例 #1
Yes
No
说明
## 提示
### 样例解释
对于 $n = 2$,$f(a)=2$。可以证明,对于所有长度为 $2$ 的 $b$ 序列满足 $f(b)\le 2$。
对于 $n = 3$,$f(a)=0$,存在序列 $b=[114,514,1919]$,$f(b)=1>0$。
### 数据规模与约定
**「本题采用捆绑测试」**
| $\text{Subtask}$ | $\sum n \le$| 特殊性质 | 总分值 |
| :--------------: | :-----: |:-----: | :--------: |
| $1$ | $10^3$ | 无| $10$ |
$2$ | $5\cdot 10^5$ | $\text{A}$ | $5$ |
| $3$ | $5\cdot 10^5$ | $\text{B}$ | $10$ |
| $4$ | $5\cdot 10^5$ | $a_i< 2$ | $15$ |
| $5$ | $10^6$ | 无 | $20$ |
| $6$ | $3\cdot 10^6$ | 无 | $40$ |
特殊性质 $\text{A}$:保证 $a_i=i$。
特殊性质 $\text{B}$:保证 $a_i=i\bmod 3$。
对于所有数据,保证 $1 \leq T \leq 10^4$,$n > 1$,$\sum n \leq 3\cdot 10^6$。