CF1696B.NIT Destroys the Universe

传统题 时间 2000 ms 内存 256 MiB 4 尝试 1 已通过 1 标签

NIT Destroys the Universe

题目描述

定义 mex⁡\operatorname{mex} 为一个集合中最小的没有出现过的非负整数。

给定一个由 nn 个非负整数组成的的序列 aa,NIT 可以进行若干次操作,每次操作选择 ll 和 rr(1≤l≤r≤n1\le l \le r \le n),将 al,al+1⋯ara_l, a_{l+1} \cdots a_r 全部修改为 mex⁡({al,al+1⋯ar})\operatorname{mex}(\{a_l, a_{l+1} \cdots a_r\})。本题有多组数据,对于每一组数据,请回答 NIT 最少需要多少次操作可以让整个序列都为 00。

输入格式

第一行一个整数 TT,表示有 TT 组询问。

对于每一组询问,第一行一个整数 nn,表示序列长度,第二行 nn 个整数,表示这个序列。

输出格式

共 TT 行,每行一个整数,表示对应一组询问的答案。

样例解释

对于第一个测试样例,不要操作。

对于第二个测试样例,需要一次操作,选择 l=2,r=5l=2,r=5。

对于第三个测试样例,需要两次操作,可以第一次选择 l=4,r=4l=4,r=4,第二次选择 l=2,r=6l=2,r=6。

对于第四个测试样例,需要一次操作,选择 l=1,r=1l=1,r=1。

说明/提示

1≤t≤1041 \le t \le 10^4,1≤n≤1051 \le n \le 10^5,0≤ai≤1090 \le a_i \le 10^9,∑n≤2⋅105\sum n \le 2 \cdot 10^5。

样例

4
4
0 0 0 0
5
0 1 2 3 4
7
0 2 3 0 1 2 0
1
1000000000
0
1
2
1

在线编程 IDE

建议全屏模式获得最佳体验