CF1842C Tenzing and Balls

题目描述

Tenzing 有 $n$ 个球排成一行。第 $i$ 个球的颜色为 $a_i$。 Tenzing 可以进行如下操作任意次: - 选择 $i$ 和 $j$,满足 $1\leq i < j \leq |a|$ 且 $a_i=a_j$, - 将 $a_i,a_{i+1},\ldots,a_j$ 从数组中移除(并将 $a_j$ 右侧所有元素的下标减去 $j-i+1$)。 Tenzing 想知道他最多能移除多少个球。

输入格式

每组测试数据包含多组测试用例。输入的第一行包含一个整数 $t$($1\leq t\leq 10^3$),表示测试用例的数量。接下来是每组测试用例的描述。 每组测试用例的第一行包含一个整数 $n$($1\leq n\leq 2\cdot 10^5$),表示球的数量。 第二行包含 $n$ 个整数 $a_1,a_2,\ldots,a_n$($1\leq a_i \leq n$),表示每个球的颜色。 保证所有测试用例中 $n$ 的总和不超过 $2\cdot 10^5$。

输出格式

对于每组测试用例,输出 Tenzing 最多可以移除的球的数量。

说明/提示

在第一个样例中,Tenzing 第一次操作选择 $i=2$ 和 $j=3$,此时 $a=[1,3,3]$。然后 Tenzing 再次选择 $i=2$ 和 $j=3$,此时 $a=[1]$。因此 Tenzing 总共可以移除 $4$ 个球。 在第二个样例中,Tenzing 第一次也是唯一一次操作选择 $i=1$ 和 $j=3$,此时 $a=[2]$。因此 Tenzing 总共可以移除 $3$ 个球。 由 ChatGPT 4.1 翻译