#P13785. [eJOI 2022] Longest Unfriendly Subsequence

[eJOI 2022] Longest Unfriendly Subsequence

Description

我们称一个序列 b1,b2,,bmb_1, b_2, \ldots, b_m不友好 的,当且仅当满足以下条件:

  • 1i<jm1 \leq i < j \leq mji2j - i \leq 2,则有 bibjb_i \neq b_j

换句话说,一个序列是 不友好 的,当且仅当任意两个距离不超过 2 的元素都不相同。

现在给定一个序列 a1,a2,,ana_1, a_2, \ldots, a_n。请找出它的最长 不友好 子序列的长度。

一个序列 cc 是序列 dd 的子序列,当且仅当 cc 可以通过从 dd 中删除若干(可能为零个,也可能为全部)元素得到。例如,(1,3,5)(1, 3, 5)(1,2,3,4,5)(1, 2, 3, 4, 5) 的子序列,而 (3,1)(3, 1) 不是。

Input Format

第一行包含一个整数 tt1t1051 \leq t \leq 10^5),表示测试用例的数量。接下来依次给出每个测试用例的描述。

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

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n1ai1091 \leq a_i \leq 10^9),表示序列 aa 的元素。

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

Output Format

对于每个测试用例,输出一个整数,表示序列 aa 的最长不友好子序列的长度。

3
5
1 2 1 2 1
7
1 2 3 2 1 2 3
8
1 10 10 1 1 100 100 1
2
6
4

Hint

样例解释

在第一个测试用例中,最长的不友好子序列为 (1,2)(1, 2)(2,1)(2, 1)。例如,子序列 (1,2,1)(1, 2, 1) 就不是不友好的,因为它的第 1 个和第 3 个元素相同。

在第二个测试用例中,最长的不友好子序列是 (1,2,3,1,2,3)(1, 2, 3, 1, 2, 3)。显然,整个序列本身不是不友好的,因此答案为 6。

在第三个测试用例中,最长的不友好子序列是 (1,10,100,1)(1, 10, 100, 1)

评分规则

  1. (3 分):aiai+1a_i \leq a_{i+1}
  2. (6 分):n8n \leq 8
  3. (8 分):所有测试用例中 nn 的总和不超过 500
  4. (10 分):ai3a_i \leq 3
  5. (10 分):ai10a_i \leq 10
  6. (20 分):所有测试用例中 nn 的总和不超过 10000
  7. (43 分):无额外限制

翻译由 ChatGPT-5 完成