P13785 [eJOI 2022] Longest Unfriendly Subsequence
题目描述
我们称一个序列 $b_1, b_2, \ldots, b_m$ 是 **不友好** 的,当且仅当满足以下条件:
- 若 $1 \leq i < j \leq m$ 且 $j - i \leq 2$,则有 $b_i \neq b_j$。
换句话说,一个序列是 **不友好** 的,当且仅当任意两个距离不超过 2 的元素都不相同。
现在给定一个序列 $a_1, a_2, \ldots, a_n$。请找出它的最长 **不友好** 子序列的长度。
一个序列 $c$ 是序列 $d$ 的子序列,当且仅当 $c$ 可以通过从 $d$ 中删除若干(可能为零个,也可能为全部)元素得到。例如,$(1, 3, 5)$ 是 $(1, 2, 3, 4, 5)$ 的子序列,而 $(3, 1)$ 不是。
输入格式
第一行包含一个整数 $t$($1 \leq t \leq 10^5$),表示测试用例的数量。接下来依次给出每个测试用例的描述。
每个测试用例的第一行包含一个整数 $n$($1 \leq n \leq 2 \cdot 10^5$),表示序列的长度。
第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($1 \leq a_i \leq 10^9$),表示序列 $a$ 的元素。
保证所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$。
输出格式
对于每个测试用例,输出一个整数,表示序列 $a$ 的最长不友好子序列的长度。
说明/提示
### 样例解释
在第一个测试用例中,最长的不友好子序列为 $(1, 2)$ 或 $(2, 1)$。例如,子序列 $(1, 2, 1)$ 就不是不友好的,因为它的第 1 个和第 3 个元素相同。
在第二个测试用例中,最长的不友好子序列是 $(1, 2, 3, 1, 2, 3)$。显然,整个序列本身不是不友好的,因此答案为 6。
在第三个测试用例中,最长的不友好子序列是 $(1, 10, 100, 1)$。
### 评分规则
1. (3 分):$a_i \leq a_{i+1}$
2. (6 分):$n \leq 8$
3. (8 分):所有测试用例中 $n$ 的总和不超过 500
4. (10 分):$a_i \leq 3$
5. (10 分):$a_i \leq 10$
6. (20 分):所有测试用例中 $n$ 的总和不超过 10000
7. (43 分):无额外限制
---
翻译由 ChatGPT-5 完成