loj#P3883. 「eJOI2022」Adjacent Pairs

「eJOI2022」Adjacent Pairs

题目描述

本题译自 eJOI2022 Problem A. Adjacent Pairs

如果对于任意满足 1im11\le i\le m-1ii,都有 bibi+1b_i\neq b_{i+1},我们就称数组 b1,b2,,bmb_1,b_2,\ldots,b_m好的

给定一个长度为 nn 的好数组 a1,a2,,ana_1,a_2,\ldots,a_n。你可以对这个数组进行如下操作:

  • 选择任意下标 i (1in)i\ (1\le i\le n) 和一个数字 x (1x109)x\ (1\le x\le 10^9)。然后将 xx 赋给 aia_i。在此操作后,数组必须仍然是好的。

你想要进行一些操作,使得最终得到的数组只包含恰好两个不同的值。请确定为了达成目标所需的最小操作次数。

输入格式

第一行一个整数 t (1t105)t\ (1\le t\le 10^5),表示测试点个数。对于每组测试点的描述如下。

每个测试点的第一行包含一个整数 n (2n2105)n\ (2\le n\le 2\cdot 10^5),表示数组长度。

第二行包含 nn 个整数 a1,a2,,an (1ain)a_1,a_2,\ldots,a_n\ (1\le a_i\le n),表示这个数组。保证对于 1in11\le i\le n-1,满足 aiai+1a_i\neq a_{i+1}(即,这个数组是好的)。

保证一组数据的所有测试点中 nn 的总和不超过 21052\cdot 10^5

输出格式

对于每组数据输出一行,表示为了使得最终得到的数组只包含恰好两个不同的值,所需的最小操作次数。

2
5
4 5 2 4 5
2
1 2

3
0

评分

详细子任务附加限制及分值如下表所示。

子任务编号 附加限制 分值
11 n100\sum n\le 100 2020
22 n500\sum n\le 500 1010
33 n4103\sum n\le 4\cdot 10^3 2525
44 无附加限制 4545

注:n\sum n 指一组测试数据中所有测试点的 nn 的总和。