#CF2162E. Beautiful Palindromes
Beautiful Palindromes
题目描述
我们称一个长度为 的数组 为回文数组,当且仅当满足以下条件:
- 对所有 ,都有 。
换句话说,如果一个数组正着和反着读都是一样的,那么它就是回文数组。
你现在有一个包含 个整数的数组 ,其中 ,以及一个整数 。
你需要恰好进行 次如下操作:
- 选择一个整数 ,其中 ,
- 将 添加到数组 的末尾。
你的目标是,使得最终得到的新数组中回文子数组 的总数最少。
请输出每次操作中你选择添加的 个整数,按照添加顺序给出。
若数组 能够通过从数组 的开头删除若干(可以为零或全部)元素,并从末尾删除若干(可以为零或全部)元素得到,那么 是 的子数组。特别地,数组本身也是它的子数组。
输入格式
输入的第一行为一个整数 (),表示测试用例的数量。
每个测试用例第一行为两个整数 和 (),表示数组 的长度以及需要添加的操作次数。
每个测试用例的第二行为 个整数 (),表示数组 的元素。
保证所有测试用例中 的总和不超过 。
输出格式
对于每个测试用例,输出你每次操作选择的 个整数,按照添加顺序给出,使得最终数组中回文子数组的总数最小。
如果存在多种解法,可以输出任意一种。
样例
5
4 1
1 3 3 4
4 2
2 2 2 2
5 1
4 1 5 2 2
6 3
1 2 3 4 5 6
5 3
3 2 5 2 3
2
1 3
3
3 4 1
4 1 5
样例说明
对于第一个测试用例,如果我们在数组末尾添加 ,则 变为 。这时 一共有 个回文子数组——、、、、、。
由 ChatGPT 5 翻译
来源
Codeforces 2162E,英文题名 Beautiful Palindromes。