CFCF2162E.Beautiful Palindromes

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

我们称一个长度为 mm 的数组 [b1,b2,,bm][b_1, b_2, \dots, b_m] 为回文数组,当且仅当满足以下条件:

  • 对所有 1im1 \le i \le m,都有 bi=bmi+1b_i = b_{m-i+1}

换句话说,如果一个数组正着和反着读都是一样的,那么它就是回文数组。

你现在有一个包含 nn 个整数的数组 [a1,a2,,an][a_1, a_2, \dots, a_n],其中 1ain1 \le a_i \le n,以及一个整数 kk

你需要恰好进行 kk 次如下操作:

  • 选择一个整数 xx,其中 1xn1 \le x \le n
  • xx 添加到数组 aa 的末尾。

你的目标是,使得最终得到的新数组中回文子数组 ^{\ast} 的总数最少。

请输出每次操作中你选择添加的 kk 个整数,按照添加顺序给出。

^{\ast} 若数组 bb 能够通过从数组 aa 的开头删除若干(可以为零或全部)元素,并从末尾删除若干(可以为零或全部)元素得到,那么 bbaa 的子数组。特别地,数组本身也是它的子数组。

输入格式

输入的第一行为一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。

每个测试用例第一行为两个整数 nnkk3n2105,1kn3 \le n \le 2\cdot10^5, 1 \le k \le n),表示数组 aa 的长度以及需要添加的操作次数。

每个测试用例的第二行为 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n1ain1 \le a_i \le n),表示数组 aa 的元素。

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

输出格式

对于每个测试用例,输出你每次操作选择的 kk 个整数,按照添加顺序给出,使得最终数组中回文子数组的总数最小。

如果存在多种解法,可以输出任意一种。

输入输出样例

  • 输入#1

    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

    输出#1

    2 
    1 3 
    3 
    3 4 1
    4 1 5

说明/提示

对于第一个测试用例,如果我们在数组末尾添加 22,则 aa 变为 [1,3,3,4,2][1, 3, 3, 4, 2]。这时 aa 一共有 66 个回文子数组——[1][1][3][3][3][3][4][4][2][2][3,3][3, 3]

首页