D. 序列分块(block)

    传统题 文件IO:block 1000ms 256MiB

序列分块(block)

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

读写要求

本题采用文件读写,请在提交代码时使用正确的文件读写方式,否则会导致 RE

输入:block.in

输出:block.out

题目描述

给定一个长度为 nn 的整数序列 aa

如果一个序列由若干个块依次组成,并且每个块都以它的长度开头,即先是这个块的长度,然后是这个块中的元素,那么这个序列被称为美丽的。例如,序列 [ $ \color{red}{3},\ \color{red}{3},\ \color{red}{4},\ \color{red}{5},\ \color{green}{2},\ \color{green}{6},\ \color{green}{1} $ ] 和 [ $ \color{red}{1},\ \color{red}{8},\ \color{green}{4},\ \color{green}{5},\ \color{green}{2},\ \color{green}{6},\ \color{green}{1} $ ] 是美丽的序列(不同的块用不同颜色表示),而 [ 1 1 ],[ 1, 4, 3 1,\ 4,\ 3 ],[ 3, 2, 1 3,\ 2,\ 1 ] 不是美丽的序列。

在一次操作中,你可以从序列中删除任意一个元素。请问最少需要多少次操作,才能使给定序列变成美丽的序列?

输入格式

输入的第一行包含一个整数 tt1t1041 \le t \le 10^4)——测试用例的数量。接下来是各个测试用例的描述。

每个测试用例的第一行包含一个整数 nn1n21051 \le n \le 2 \cdot 10^5)——序列 aa 的长度。

每个测试用例的第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n1ai1061 \le a_i \le 10^6)——序列 aa 的元素。

保证所有测试用例中 nn 的总和不超过 21052 \cdot 10^5

输出格式

对于每个测试用例,输出一个整数——使序列 aa 变成美丽序列所需删除的最少元素个数。

输入输出样例

7
7
3 3 4 5 2 6 1
4
5 6 3 2
6
3 4 1 6 7 7
3
1 4 3
5
1 2 3 4 5
5
1 2 3 1 2
5
4 5 5 1 5
0
4
1
1
2
1
0

说明/提示

在样例的第一个测试用例中,给定序列已经是美丽的,正如题面中所展示的那样。

在样例的第二个测试用例中,只有删除所有元素,才能使序列变成美丽的序列。

在样例的第五个测试用例中,可以通过删除第一个元素和最后一个元素,使序列变成美丽的序列。此时序列将变为 [ 2, 3, 4 2,\ 3,\ 4 ]。

周赛#1026(div3)复现赛

未参加
状态
已结束
规则
IOI
题目
5
开始于
2026-5-16 21:00
结束于
2026-5-23 13:00
持续时间
1 小时
主持人
参赛人数
10