编程题
### 问题描述 小蓝是一个爱好编程的小学生,他正在学习如何判断一个数组中是否存在回文子序列。在学习的过程中,他想到了一个有趣的游戏。 游戏规则如下:小蓝手上有 $t$ 个测试用例,每个测试用例包含一个由 $n$ 个整数组成的数组 $a$。小蓝需要判断每个测试用例中的数组 $a$ 是否存在长度至少为 $3$ 的回文子序列。如果存在,则输出 "$\texttt{YES}$",否则输出 "$\texttt{NO}$"。 小蓝非常喜欢探险,他将每个测试用例看作一个神秘的宝藏,而数组 $a$ 就是宝藏的秘密密码。只有当他成功解开密码时,才能打开宝藏,发现里面的神秘宝物。 小蓝穿上了一件蓝色的探险服,拿起了手中的探险工具,开始了他的探险之旅。在探险的过程中,他需要经过许多障碍和险阻,才能找到宝藏。他需要善用自己的智慧和技能,才能成功地解开每个测试用例的秘密密码,找到隐藏在宝藏中的神秘宝物。 你能帮助小蓝完成这个探险任务吗? ### 输入格式 第一行包含一个整数 $t$ —— 测试用例数。 接下来 $2t$ 行描述测试用例。每个测试用例的第一行包含一个整数 $n$,表示数组 $a$ 的长度。 每个测试用例的第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$,其中 $a_i$ 是 $a$ 的第 $i$ 个元素。 保证所有测试用例中 $n$ 的总和不超过 $5000$。 ### 输出格式 对于每个测试用例,输出答案 —— 如果 $a$ 中存在长度至少为 $3$ 的回文子序列,则输出 "$\texttt{YES}$",否则输出 "$\texttt{NO}$"。 ### 输入样例 ```text 5 3 1 2 1 5 1 2 2 3 2 3 1 1 2 4 1 2 2 1 10 1 1 2 2 3 3 4 4 5 5 ``` ### 输出样例 ```text YES YES NO YES NO ``` ### 样例说明 在样例的第一个测试用例中,数组 $a$ 有一个回文子序列 $[1,2,1]$。 在样例的第二个测试用例中,数组 $a$ 有两个长度为 $3$ 的回文子序列:$[2,3,2]$ 和 $[2,2,2]$。 在样例的第三个测试用例中,数组 $a$ 没有长度至少为 $3$ 的回文子序列。 在样例的第四个测试用例中,数组 $a$ 有一个长度为 $4$ 的回文子序列:$[1,2,2,1]$(并且有两个长度为 $3$ 的回文子序列:$[1,2,1]$)。 在样例的第五个测试用例中,数组 $a$ 没有长度至少为 $3$ 的回文子序列。 ### 评测数据规模 对于 $100$% 的评测数据,$1 \le t \le 5,3 \le n \le 5000,1 \le a_i \le n$。
查看答案
赣ICP备20007335号-2