欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1610B.Kalindrome Array
Kalindrome Array
题目描述
一个数组 被称为回文数组,如果对于每个 满足 ,都有 。空数组也被认为是回文数组。
如果一个数组满足以下条件,则称其为 kalindrome(卡林德数组):
- 存在某个整数 ,可以删除数组中若干个等于 的元素(可以不删,也可以删部分),使得剩下的数组(将剩余部分拼接起来)是回文数组。
注意,你不必删除所有等于 的元素,也不必至少删除一个等于 的元素。
例如:
- 是 kalindrome,因为你可以选择不删除任何元素,原数组就是回文数组。
- 是 kalindrome,因为你可以选择 ,删除两个 ,得到 ,它是回文数组。
- 不是 kalindrome。
给定一个数组 ,判断该数组是否为 kalindrome。
输入格式
第一行包含一个整数 (),表示测试用例的数量。接下来是每个测试用例的描述。
每个测试用例的第一行包含一个整数 (),表示数组的长度。
第二行包含 个整数 (),表示数组的元素。
保证所有测试用例中 的总和不超过 。
输出格式
对于每个测试用例,如果数组 是 kalindrome,输出 YES,否则输出 NO。你可以用任意大小写输出答案。
说明/提示
在第一个测试用例中,数组 已经是回文数组,因此也是 kalindrome。
在第二个测试用例中,可以选择 ,删除第二个元素,得到 ,它是回文数组。
在第三个测试用例中,不可能得到回文数组。
在第四个测试用例中,你可以选择 ,删除第五个元素,得到 。你也可以选择 ,删除第一个和第四个元素,得到 。
由 ChatGPT 4.1 翻译
样例
4
1
1
2
1 2
3
1 2 3
5
1 4 4 1 4
YES
YES
NO
YES
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |