PS:如果读过题了可以跳过题目描述直接到题解部分
提交链接:洛谷 P7915 [CSP-S 2021] 回文
给定正整数 n n n 和整数序列 a 1 , a 2 , … , a 2 n a_1, a_2, \ldots, a_{2 n} a1,a2,…,a2n,在这 2 n 2 n 2n 个数中, 1 , 2 , … , n 1, 2, \ldots, n 1,2,…,n 分别各出现恰好 2 2 2 次。现在进行 2 n 2 n 2n 次操作,目标是创建一个长度同样为 2 n 2 n 2n 的序列 b 1 , b 2 , … , b 2 n b_1, b_2, \ldots, b_{2 n} b1,b2,…,b2n,初始时 b b b 为空序列,每次可以进行以下两种操作之一:
我们的目的是让 b b b 成为一个回文数列,即令其满足对所有 1 ≤ i ≤ n 1 \le i \le n 1≤i≤n,有 b i = b 2 n + 1 − i b_i = b_{2 n + 1 - i} bi=b2n+1−i。请你判断该目的是否能达成,如果可以,请输出字典序最小的操作方案,具体在【输出格式】中说明。
每个测试点包含多组测试数据。
输入的第一行,包含一个整数 T T T,表示测试数据的组数。对于每组测试数据:
第一行,包含一个正整数 n n n。
第二行,包含 2 n 2 n 2n 个用空格隔开的整数 a 1 , a 2 , … , a 2 n a_1, a_2, \ldots, a_{2 n} a1,a2,…,a2n。
对每组测试数据输出一行答案。
如果无法生成出回文数列,输出一行 ‐1
,否则输出一行一个长度为 2 n 2 n 2n 的、由字符 L
或 R
构成的字符串(不含空格),其中 L
表示移除开头元素的操作 1,R
表示操作 2。
你需要输出所有方案对应的字符串中字典序最小的一个。
字典序的比较规则如下:长度均为 2 n 2 n 2n 的字符串 s 1 ∼ 2 n s_{1 \sim 2 n} s1∼2n 比 t 1 ∼ 2 n t_{1 \sim 2 n} t1∼2n 字典序小,当且仅当存在下标 1 ≤ k ≤ 2 n 1 \le k \le 2 n 1≤k≤2n 使得对于每个 1 ≤ i < k 1 \le i < k 1≤i<k 有 s i = t i s_i = t_i si=ti 且 s k < t k s_k < t_k sk<tk。
2
5
4 1 2 4 5 3 1 2 3 5
3
3 2 1 2 1 3
LRRLLRRRRL
-1
100
20
5 20 6 12 13 18 9 17 2 7 7 18 1 11 10 15 4 6 17 19 14 10 14 13 1 16 8 3 12 8 19 20 4 16 5 3 9 2 15 11
20
6 7 3 7 8 18 17 2 9 3 14 16 1 16 19 15 8 12 19 4 5 18 4 15 9 11 1 12 10 13 6 5 14 2 11 20 20 13 10 17
20
3 5 13 2 19 9 20 6 11 4 10 8 7 17 15 1 18 14 16 18 15 17 7 12 8 10 4 11 6 20 9 19 2 13 3 5 1 14 16 12
20
5 13 1 3 2 16 7 19 6 18 10 4 4 10 20 18 6 19 7 8 2 14 1 11 17 9 13 5 15 3 16 12 20 12 8 14 15 11 17 9
20
10 16 7 13 18 19 14 15 20 9 2 12 17 4 8 1 11 11 8 17 12 5 15 18 3 13 7 16 10 6 19 14 20 9 2 4 1 5 3 6
20
8 13 7 16 6 1 19 6 11 16 17 2 5 3 20 15 5 4 4 14 9 2 19 18 1 11 17 10 12 12 14 9 8 13 18 7 10 20 3 15
20
17 3 16 1 9 12 19 6 8 2 20 14 18 10 5 11 15 7 13 4 4 13 7 15 11 5 10 18 17 14 20 2 8 6 19 12 9 1 16 3
20
4 1 12 13 7 11 6 14 9 2 5 16 17 18 8 20 20 8 17 16 5 2 9 14 6 10 19 12 4 1 13 7 11 15 3 18 3 15 10 19
20
20 13 8 12 10 19 7 18 6 3 9 7 5 16 18 16 20 1 6 14 10 17 14 8 1 15 3 13 11 4 2 11 4 12 9 2 15 5 19 17
20
7 8 18 10 19 7 17 20 4 6 11 14 8 9 18 4 12 17 19 10 16 14 11 15 13 9 3 5 2 6 15 1 5 12 13 20 16 1 2 3
20
13 8 10 14 18 16 5 2 9 17 1 15 12 11 12 15 1 17 9 2 20 19 5 16 6 3 14 10 7 4 13 8 18 11 20 19 6 3 7 4
20
1 6 15 10 1 7 5 16 11 9 14 19 3 19 8 16 18 10 5 6 13 15 8 12 9 4 20 17 13 7 2 20 2 17 4 3 18 11 14 12
20
19 4 8 10 6 3 15 5 12 7 4 17 9 19 18 7 1 13 15 6 11 11 20 18 12 2 14 14 3 2 1 17 16 10 5 16 9 20 8 13
20
7 19 15 10 18 9 1 12 11 6 4 2 17 14 16 17 2 4 6 11 12 9 18 20 13 3 10 15 19 7 8 1 5 14 16 5 20 13 3 8
20
3 15 14 17 1 2 20 4 18 16 15 10 1 2 9 10 9 4 19 7 7 18 17 11 19 13 6 20 8 12 3 8 5 11 16 6 14 13 5 12
20
16 15 14 4 12 1 18 19 17 14 1 13 11 2 10 18 2 12 8 15 16 10 9 3 7 13 6 19 5 6 20 7 9 4 11 5 17 3 8 20
20
9 13 6 7 8 18 2 20 10 19 14 17 16 4 1 11 3 15 5 12 12 5 15 3 11 1 4 17 14 19 10 20 2 18 8 7 6 13 9 16
20
9 16 3 18 15 6 10 8 12 1 14 20 4 11 7 13 13 20 1 12 8 6 15 18 3 16 9 2 5 10 17 14 4 19 11 7 19 17 5 2
20
13 18 2 3 19 7 8 15 4 12 13 18 20 17 2 1 5 6 10 14 11 9 16 3 19 16 9 7 11 14 10 6 5 1 17 8 15 20 12 4
20
7 4 6 2 8 19 1 5 10 10 17 5 18 15 13 19 11 2 6 4 7 16 14 9 12 20 8 1 3 17 3 18 15 13 20 12 9 11 14 16
20
2 15 20 2 18 19 7 15 1 5 8 6 14 5 13 6 9 11 1 12 4 12 14 19 17 13 16 18 8 7 3 11 3 16 20 9 17 10 4 10
20
17 9 20 6 4 14 18 6 14 13 10 18 12 1 15 10 7 12 9 11 16 15 8 7 2 17 13 19 20 3 5 3 1 11 5 19 16 8 2 4
20
5 2 16 7 18 4 8 8 4 2 15 14 5 1 12 16 11 17 10 18 11 14 10 19 19 3 13 1 9 6 3 15 12 6 20 7 20 13 17 9
20
8 20 10 6 3 18 5 19 11 9 9 12 19 5 18 3 13 2 4 6 10 20 16 8 14 15 17 7 1 11 1 12 7 17 13 15 2 4 14 16
20
5 6 7 18 3 16 4 15 12 13 8 14 10 9 20 9 10 14 8 17 2 15 4 11 16 3 18 19 7 6 1 5 12 13 20 17 2 11 19 1
20
1 15 14 10 13 20 12 15 17 4 9 6 4 8 1 18 5 7 16 11 17 19 9 20 18 2 14 6 3 12 10 3 16 5 13 19 2 11 8 7
20
2 15 17 20 4 5 11 13 7 6 9 1 7 16 11 8 20 17 19 15 14 2 10 12 3 4 5 18 13 6 9 1 16 18 8 3 12 19 14 10
20
14 14 12 1 11 7 20 13 17 10 8 18 2 20 4 2 8 4 6 3 9 5 6 15 13 16 1 19 16 15 19 17 3 7 9 11 5 18 12 10
20
11 18 4 16 11 5 20 8 5 12 2 10 15 19 3 19 15 4 7 3 6 2 9 13 17 13 12 14 8 1 6 20 14 16 7 17 9 10 1 18
20
10 3 8 1 18 16 4 20 11 19 3 13 13 4 10 2 6 14 16 19 9 15 15 5 17 1 11 6 12 9 20 12 14 7 8 2 17 18 5 7
20
12 2 7 18 15 19 20 17 4 9 13 4 16 15 3 1 7 6 14 12 11 2 18 19 20 17 5 9 8 10 10 8 5 13 16 3 1 6 14 11
20
1 18 18 13 19 20 4 10 6 11 5 6 13 16 7 14 4 17 19 2 8 10 8 1 9 9 16 14 11 20 12 5 2 3 17 7 15 3 12 15
20
5 13 9 7 8 16 8 19 10 14 1 16 12 15 12 10 19 3 11 17 18 9 4 11 1 17 14 13 7 5 15 6 4 2 20 2 3 20 18 6
20
14 16 9 6 4 20 15 13 17 5 18 19 8 1 8 19 11 3 18 5 17 13 20 4 10 6 7 16 14 2 9 12 15 1 11 3 12 10 7 2
20
17 19 5 2 10 20 10 17 14 12 11 13 1 16 13 7 7 2 6 14 9 6 15 15 8 8 18 19 16 12 11 4 9 3 18 3 5 20 1 4
20
20 14 11 3 12 11 13 17 13 1 15 17 19 10 16 2 19 20 10 6 6 18 7 9 4 14 15 7 18 12 5 5 8 4 8 3 2 9 1 16
20
16 5 14 12 13 1 8 4 15 11 17 16 7 5 14 19 3 12 13 9 18 2 10 1 20 6 6 8 20 10 2 4 18 15 9 11 17 3 19 7
20
6 5 8 2 9 8 17 18 3 19 16 18 15 11 6 3 19 14 1 7 13 15 17 5 2 4 14 13 4 10 12 7 10 1 20 20 16 11 9 12
20
1 1 4 6 13 8 9 19 3 14 12 20 7 10 15 18 3 4 13 12 17 8 17 5 15 7 6 5 19 11 9 18 2 20 2 10 11 14 16 16
20
11 4 18 10 17 14 12 20 8 16 7 15 1 6 2 2 19 6 15 7 16 8 20 13 14 11 4 18 10 17 12 9 3 5 1 19 5 3 9 13
20
20 9 18 7 13 17 2 11 12 19 3 6 4 1 16 10 8 14 5 14 8 10 16 1 4 6 3 19 12 11 17 13 7 18 9 20 2 15 5 15
20
5 4 8 3 18 5 16 13 3 20 6 16 11 6 2 18 17 9 19 12 1 9 7 20 14 15 14 10 10 7 1 19 2 13 17 4 8 12 15 11
20
6 7 19 20 4 3 13 9 14 10 5 11 12 8 2 15 17 17 15 2 12 10 9 20 18 6 7 19 4 16 3 13 14 5 11 1 8 1 16 18
20
7 19 12 20 19 13 16 9 3 15 17 15 4 7 1 6 5 12 16 17 2 11 11 20 14 8 1 5 14 2 8 3 6 10 4 18 10 18 13 9
20
12 7 2 2 8 13 11 15 1 20 10 14 17 16 3 15 19 9 13 17 11 20 18 4 5 10 12 18 8 5 6 6 16 19 7 14 3 4 9 1
20
20 19 16 1 15 13 10 6 11 17 3 18 9 9 3 12 11 5 6 10 2 13 7 14 4 15 1 16 19 20 8 17 18 12 5 2 7 14 4 8
20
12 20 11 2 14 13 7 5 4 10 6 3 8 15 17 18 1 9 16 16 9 1 18 17 15 8 3 6 10 4 5 7 13 14 2 11 19 20 12 19
20
2 20 9 19 14 6 3 17 7 5 8 13 8 5 7 17 6 14 19 4 12 1 2 20 18 9 11 10 16 15 3 13 15 16 10 11 4 12 1 18
20
12 4 2 1 7 6 14 18 11 8 13 19 16 9 9 10 20 16 19 13 11 3 18 14 6 17 7 2 12 4 5 1 15 8 10 20 3 17 15 5
20
10 14 11 13 5 6 2 8 17 3 15 3 8 4 6 13 18 20 10 14 11 7 19 5 2 12 9 17 1 15 16 16 1 9 12 4 19 18 7 20
20
17 3 18 18 1 2 19 20 17 5 9 20 11 7 6 5 14 7 4 13 16 10 15 8 3 13 12 14 19 2 10 8 11 12 16 4 9 15 6 1
20
4 1 16 20 14 19 9 10 2 13 10 3 17 3 16 8 7 13 11 6 15 17 12 5 7 15 11 8 2 5 4 9 14 1 20 12 19 18 18 6
20
15 12 4 16 9 2 8 17 6 1 14 20 11 13 10 7 19 18 3 3 18 19 7 10 13 11 20 14 1 6 17 8 2 9 16 4 12 5 15 5
20
10 1 13 2 16 8 15 9 3 7 20 2 1 20 15 16 11 12 10 14 17 6 11 4 5 7 8 18 14 6 19 4 12 13 19 9 17 5 3 18
20
4 1 14 6 5 19 15 4 1 18 7 20 8 16 13 2 12 10 3 17 11 9 9 11 17 14 3 10 12 2 6 13 16 5 8 20 7 18 19 15
20
3 6 12 18 11 2 13 10 1 17 4 5 14 7 19 15 8 9 9 8 7 5 4 17 1 10 13 2 18 20 12 6 3 11 16 14 19 15 16 20
20
3 9 3 12 20 16 8 7 18 2 11 1 11 5 17 13 15 14 19 7 6 8 17 10 14 4 13 9 5 1 19 15 12 18 10 20 16 4 6 2
20
3 8 4 14 5 20 1 15 17 13 7 2 10 17 19 12 18 5 14 9 3 8 4 11 16 6 20 1 15 13 7 2 10 19 6 12 18 16 11 9
20
10 8 6 1 11 7 18 9 20 14 4 12 19 17 16 16 17 19 12 4 14 15 18 7 1 6 8 10 11 9 3 13 5 20 2 2 5 13 3 15
20
5 12 9 4 1 10 10 14 6 19 2 12 6 1 20 8 14 7 3 9 18 18 16 2 17 13 4 13 5 11 17 11 3 20 15 15 19 7 8 16
20
13 9 12 15 17 3 6 11 2 10 5 18 19 20 1 8 4 16 16 4 8 1 14 19 18 7 5 2 11 6 3 12 9 13 15 17 10 20 14 7
20
18 14 20 8 13 19 10 13 3 4 8 1 20 7 2 16 9 17 18 12 14 11 6 15 5 19 10 3 4 1 5 15 6 11 7 2 16 12 9 17
20
18 16 10 19 16 2 5 20 7 11 5 14 18 9 13 6 12 14 15 7 4 20 19 11 3 1 13 3 17 6 15 12 8 2 1 8 10 4 17 9
20
13 2 19 20 14 3 9 10 15 7 5 5 19 16 1 6 20 13 7 3 18 8 17 17 15 2 10 4 6 11 11 14 12 9 16 4 12 18 1 8
20
3 19 11 1 4 18 8 3 7 12 2 20 19 11 16 9 17 13 14 15 10 5 6 6 5 10 15 14 13 17 9 1 16 4 20 2 18 8 12 7
20
17 20 19 19 9 15 11 12 3 14 2 18 20 5 5 10 8 6 10 15 13 9 2 4 7 12 17 1 6 14 8 3 18 1 4 13 16 7 11 16
20
10 20 20 13 18 2 2 11 14 16 12 3 5 4 15 1 1 13 17 9 11 17 19 8 8 4 6 5 7 15 14 6 7 16 3 18 19 9 12 10
20
13 11 9 7 14 3 18 2 20 8 14 19 16 1 17 3 18 9 4 20 15 6 15 16 19 7 10 6 5 12 11 2 5 17 1 8 12 10 4 13
20
3 9 5 14 6 12 3 4 8 17 11 18 1 19 20 2 13 9 15 16 10 7 5 7 14 10 16 15 13 2 20 19 1 18 11 17 8 4 6 12
20
15 19 17 18 5 2 18 14 3 8 11 20 5 7 12 6 12 13 9 4 10 15 2 13 1 17 4 1 3 11 7 10 16 19 9 6 8 14 16 20
20
9 9 17 10 5 1 19 16 14 6 4 12 3 15 19 16 1 15 2 20 7 17 18 11 6 13 2 7 8 10 12 20 13 14 3 11 5 18 8 4
20
13 13 16 4 18 1 11 4 14 19 17 18 6 2 8 20 8 12 3 9 7 17 19 5 5 12 6 9 3 15 20 2 7 10 15 14 11 16 10 1
20
16 6 19 15 20 17 8 7 12 9 10 11 18 5 2 1 5 18 11 10 4 9 12 14 7 15 3 19 16 6 20 17 8 13 2 1 4 13 14 3
20
14 10 2 13 11 1 6 20 19 14 8 12 10 15 5 7 17 16 9 4 18 3 3 2 18 13 4 9 11 16 17 7 5 15 12 8 1 6 19 20
20
20 11 10 18 7 17 6 15 12 2 4 14 16 13 3 5 2 4 9 19 7 20 17 14 12 8 8 5 9 1 15 10 6 13 1 18 11 19 16 3
20
2 12 3 18 13 5 16 9 20 19 10 11 8 1 14 4 7 15 6 17 17 6 15 7 4 14 8 11 10 19 9 16 13 3 12 2 18 5 20 1
20
19 9 3 1 15 14 5 7 11 20 17 13 13 2 17 20 8 11 16 7 4 5 14 15 1 3 19 9 6 10 18 12 12 2 18 8 10 16 4 6
20
8 4 18 7 9 12 18 19 6 5 1 12 17 19 17 3 8 10 16 14 16 7 9 4 1 11 13 10 15 11 6 2 13 3 20 20 2 15 5 14
20
4 12 14 9 7 18 15 11 20 5 10 13 6 1 19 2 2 17 19 1 6 13 10 5 3 20 11 15 16 18 8 9 14 4 12 7 17 3 16 8
20
17 20 8 7 18 6 16 3 11 10 14 2 17 2 12 1 15 7 8 15 5 4 3 13 20 11 13 14 12 18 9 5 10 16 19 6 1 19 9 4
20
17 14 1 9 19 4 3 5 1 11 13 15 15 16 7 7 11 9 17 12 2 20 5 13 20 12 10 2 6 6 8 4 16 8 14 18 18 10 19 3
20
13 5 7 15 4 3 6 17 2 19 15 9 13 5 7 1 4 3 10 14 18 11 8 16 20 6 12 12 20 16 8 11 18 17 14 10 2 19 1 9
20
11 3 13 10 4 19 1 7 12 12 6 8 10 13 11 3 18 14 5 15 16 20 17 4 19 1 7 2 9 6 9 2 17 20 16 15 5 14 8 18
20
5 16 4 2 19 8 15 20 11 17 18 16 3 18 10 8 14 11 4 6 5 12 19 13 1 9 3 7 10 17 14 1 13 15 6 9 7 2 20 12
20
2 6 12 5 10 7 20 3 8 4 4 3 14 20 9 18 19 15 6 2 12 5 11 10 1 16 7 13 17 8 14 17 13 9 16 18 1 19 11 15
20
12 7 3 9 4 2 16 19 13 9 11 8 5 6 18 12 17 7 1 10 3 4 20 15 2 14 16 19 14 13 15 20 10 1 11 8 5 6 18 17
20
18 1 13 9 2 8 16 20 19 11 3 2 5 17 19 9 1 3 14 10 6 4 7 5 17 4 11 8 18 15 14 13 6 12 20 12 7 15 16 10
20
4 1 7 9 8 7 12 3 17 13 10 1 20 2 2 6 14 17 19 18 15 3 11 15 13 12 20 14 10 11 5 9 18 6 16 8 5 4 19 16
20
10 19 14 16 6 17 4 8 20 12 9 16 2 11 14 6 7 18 5 9 8 12 3 5 4 1 10 20 3 7 15 15 1 11 2 13 19 18 17 13
20
4 18 2 9 9 19 10 6 8 7 14 20 5 4 1 13 17 18 12 15 11 2 16 3 3 16 11 15 12 19 17 10 13 1 5 6 20 14 7 8
20
16 2 3 5 7 9 18 17 14 15 6 10 20 1 4 19 12 13 12 19 4 1 20 6 15 17 18 9 11 7 5 8 2 16 3 14 10 13 11 8
20
2 3 18 19 6 7 9 16 1 14 8 11 10 12 17 5 5 17 10 11 8 14 4 1 16 9 7 13 20 15 19 18 3 2 6 12 4 13 20 15
20
9 16 9 18 8 6 2 19 15 5 16 3 12 20 1 13 11 17 12 1 15 20 14 3 2 7 10 19 4 17 13 11 18 4 10 8 14 7 5 6
20
6 15 16 4 18 1 16 14 12 3 5 10 20 9 13 8 11 14 2 20 19 2 5 19 12 15 7 18 8 1 17 7 10 11 17 13 4 3 9 6
20
1 13 9 19 3 2 4 7 20 6 17 18 18 6 12 20 7 16 5 15 2 3 19 13 8 1 11 9 14 10 4 17 12 16 5 15 10 14 11 8
20
15 16 6 16 20 1 17 11 14 1 18 2 19 13 3 8 2 9 10 14 3 20 12 17 13 9 11 10 5 12 15 6 7 4 4 18 19 8 5 7
20
16 17 13 18 2 8 14 6 3 19 20 4 9 12 11 11 12 9 4 20 19 1 6 14 15 8 2 10 7 13 17 16 18 5 3 1 15 5 10 7
20
2 10 13 6 15 5 20 12 1 18 8 9 11 14 17 17 14 11 9 8 18 16 4 12 20 5 19 15 7 6 13 10 2 1 3 3 16 4 19 7
20
17 10 5 3 20 13 4 7 11 5 8 12 18 9 16 19 4 1 8 6 15 14 1 12 11 15 18 2 20 13 14 3 10 7 17 6 19 16 9 2
20
2 17 20 13 18 14 15 19 8 2 5 11 5 6 16 13 16 1 10 15 10 6 14 9 9 20 12 12 4 18 4 1 19 7 11 3 17 8 7 3
-1
-1
LLLLLLLLLLLLRLLLLLLLRRLRLLLLLLLLLLLLLLRL
LLRRRLRLRLLRLLLLRRLLLLLRLLLLLRLLRRLLLLLL
LLLLRRLLLLLLLRLLLLLLLRLRLLLRRRLRRLLRLLLL
-1
RRRRRRRRRRRRRRRRRRRRRRRRRRRRLRRRRRRRRRRL
LLLLLLRRLLLLLLLRRLLLLLRRRLLLLLLLLLRRRLRL
-1
-1
LLRRLLLRRLLRRLLLLLLLRLLLLLLLLLLLLRLLLLRL
-1
-1
LLLLRRRRLLLLLLLLLRLLRRRLLLLLLRLLLLLRLLLL
-1
-1
LLLLLLLLLLLLLLLLLLLLLLLLLLLRLLLLLLLLLLLL
LLLLLLRRLLLLRLLLRLLLLRRRRLRRLLLRRRLLLLLL
RRLLRRRRLRRRRRRRRRLLRRRRLRRRRRRRRLLRRRRL
LLLLRRRRRRLLLRRRLRRLLLRLLLLRLRRRRLRRLLLL
-1
-1
-1
LRLLLRRRRRLLLLRRRRLLLRRLRRLLLLLRLLRLLLLL
LRLLRLLLRLLLLRRLLLLLRLLLLLLRRLLLLLLLLLLL
-1
LRRLRLLRRLLRLRLRLLLLRRRLLRRLLRRRRLLLLLRL
-1
-1
-1
LRLRRLLRRLLLLRLRRLRRRRRRLLLRRRLLLRLLLRRL
-1
-1
LLRLRLRLLRLLLLLRRLLLRLLLLLLLLRRLLLLLRRLL
-1
-1
LRLLRRLLRRRRRRRRLRRRRLRRRRLRLRLLRRRRRRRL
-1
-1
LLLLLLLRLLLLLRRRLLRLLLLRRRRLLLLLLRLRRRRL
LLLLLLLLLLLLLLLLLLRLRRLLLLLLLLLLLRLLLLLL
-1
LLLRLLRLLLLLLLLRLLLLLLLRRLRRLRLRRRRLLRRL
-1
-1
LLLLLRRRRLRLLRLLRLLLLRLLRLLLLLLLLLRLLLLL
LLRLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLRLRRRLLLRRRRLLLLLLRLLLLRRRRRLLLLLLRRRL
LLLRLLRRLLLRLLLLLRRLLLLLLLRLLLLLLRLRRLRL
LLLRRRLRLLLRLRRLLRLRRRRLRRRLLRLRRLLRLRRL
-1
-1
LRLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
-1
LLRRRRRRRRRRRRRRRRRRRRRLRRRRLRRLRRRRLLRL
LLLRLLLLLLLLLRLLLLLLLLRRLRRLLLLLLLRLLLLL
-1
LLLRLLRRRRRLLLRLLLLLRRRRLLRRRRLLRRLLLRRL
LLLLLLLLRRRRLLLLLLLRRLLLLLLRRRRLRLLRLLLL
-1
LLLLLLLLLLLRLLLRLLLLLLLLLRLLLLRLLLLRRLLL
LRRRLRRRLRRRRRLRRLLLRRLLLLLRRRRLLLLRRLLL
-1
-1
LRRRRRRLLRRRRRRRRRRRRRRRRRRRLRLRRRRLLRRL
-1
-1
-1
LRRRRRRRRRRRRLRRRRRLRRLRRRRRRRRRRRRRRLLL
-1
-1
-1
LLLRLLLLLRLLRRLLLLLLRRLLLLLRLLLLRRRLLLRL
RRLRRRRLRRRRRRRRRRRRRLRLRRLRRRRRRRRLLRRL
-1
LLLLLLLLLLLLLLLLLLLLLLLLLLRLLLLRLLRLRLLL
LLLLLLLRRLRLRRLLRRLRRLLRLLLRLLLLRLLLLLRL
-1
LLLLLRLRLLLRLLLLLLRLLLLLLLLLLLLLLLLRLLRL
-1
-1
LLLRLRLLRRRRRRRRRRLRRRRRRRRLRRLLRRRLLRRL
LLLLRRRRRRRRLLLLRRRLLLRRRRRRRRRRRRLRLLRL
-1
LLLLRRLRRRRLRLRRRLLLLRLLRRLLRRLRLRRLRRLL
LRLRRRRRRRLLLRRLRRLLRRRLRRRRLRRRLLLLLRRL
-1
-1
-1
RRRRRRLRRRRLRRRRLLRRRRLRRRRLRRLRRRRLRRRL
LLLRLLRLLLLLLLLLLLLLRLLLLLRLLRLLLLLLLRLL
LLLLLRRRLLLLRLLLLLLLLLRLLLLLLLLLLLLRLLLL
-1
-1
LRLRLLLLRRLRRRLLRLLLLRLLLLLLLRRRLLLRRLLL
-1
LLLLRRLLRRLLLRLLLLLLLLLLLLLRLLLRLLLLRLLL
LLLLRLRLLLLRRLLLLLLRRLLLLLLLLRLLLLLLLLLL
-1
-1
【样例解释 #1】
在第一组数据中,生成的的 b b b 数列是 [ 4 , 5 , 3 , 1 , 2 , 2 , 1 , 3 , 5 , 4 ] [4, 5, 3, 1, 2, 2, 1, 3, 5, 4] [4,5,3,1,2,2,1,3,5,4],可以看出这是一个回文数列。
另一种可能的操作方案是 LRRLLRRRRR
,但比答案方案的字典序要大。
【数据范围】
令 ∑ n \sum n ∑n 表示所有 T T T 组测试数据中 n n n 的和。
对所有测试点保证 1 ≤ T ≤ 100 1 \le T \le 100 1≤T≤100, 1 ≤ n , ∑ n ≤ 5 × 10 5 1 \le n, \sum n \le 5 \times {10}^5 1≤n,∑n≤5×105。
测试点编号 | T ≤ T \le T≤ | n ≤ n \le n≤ | ∑ n ≤ \sum n \le ∑n≤ | 特殊性质 |
---|---|---|---|---|
1 ∼ 7 1 \sim 7 1∼7 | 10 10 10 | 10 10 10 | 50 50 50 | 无 |
8 ∼ 10 8 \sim 10 8∼10 | 100 100 100 | 20 20 20 | 1000 1000 1000 | 无 |
11 ∼ 12 11 \sim 12 11∼12 | 100 100 100 | 100 100 100 | 1000 1000 1000 | 无 |
13 ∼ 15 13 \sim 15 13∼15 | 100 100 100 | 1000 1000 1000 | 25000 25000 25000 | 无 |
16 ∼ 17 16 \sim 17 16∼17 | 1 1 1 | 5 × 10 5 5 \times {10}^5 5×105 | 5 × 10 5 5 \times {10}^5 5×105 | 无 |
18 ∼ 20 18 \sim 20 18∼20 | 100 100 100 | 5 × 10 5 5 \times {10}^5 5×105 | 5 × 10 5 5 \times {10}^5 5×105 | 有 |
21 ∼ 25 21 \sim 25 21∼25 | 100 100 100 | 5 × 10 5 5 \times {10}^5 5×105 | 5 × 10 5 5 \times {10}^5 5×105 | 无 |
特殊性质:如果我们每次删除 a a a 中两个相邻且相等的数,存在一种方式将序列删空(例如 a = [ 1 , 2 , 2 , 1 ] a = [1, 2, 2, 1] a=[1,2,2,1])。
【hack 数据提供】
@潜在了H2O下面。
对于一个b我们可以用指针从两边往中间缩小范围,对于一个a我们可以用四个指针分别维护两个范围逐渐扩张。由此就可以得到这道题的答案。(详见代码)
//洛谷 P7915 [CSP-S 2021] 回文
#pragma GCC optimize(3)
#include
#include
#include
using namespace std;
int t;
int n;
int a[1000010];
int b[1000010];
char ans[1000010];
int l,r,st,ed;
void in(int &x){
int nt;
x=0;
while(!isdigit(nt=getchar()));
x=nt^'0';
while(isdigit(nt=getchar())){
x=(x<<3)+(x<<1)+(nt^'0');
}
}
bool dfs(int i,int ll,int rr){
if(ll==2){
ans[1]='L';
}
else{
ans[1]='R';
}
l=i,r=i,st=1,ed=(n<<1);
for(i=1;i<n;++i){
if(b[a[ll]+n]==l-1){
--l;
++ll;
ans[++st]='L';
ans[--ed]='L';
}
else if(b[a[ll]+n]==r+1){
++r;
++ll;
ans[++st]='L';
ans[--ed]='R';
}
else if(b[a[rr]]==l-1){
--l;
--rr;
ans[++st]='R';
ans[--ed]='L';
}
else if(b[a[rr]]==r+1){
++r;
--rr;
ans[++st]='R';
ans[--ed]='R';
}
else{
return 0;
}
}
ans[(n<<1)]='L';
printf("%s\n",ans+1);
return 1;
}
int main(){
register int i;
in(t);
while(t--){
in(n);
memset(b,0,sizeof(b));
memset(ans,0,sizeof(ans));
for(i=1;i<=(n<<1);++i){
in(a[i]);
if(b[a[i]]){
b[a[i]+n]=i;
}
else{
b[a[i]]=i;
}
}
if(dfs(b[a[1]+n],2,(n<<1))){
continue;
}
if(dfs(b[a[(n<<1)]],1,(n<<1)-1)){
continue;
}
printf("-1\n");
}
return 0;
}