列表

详情


NC53270. AAQQZ

描述

译自 JOISC 2015 Day3 T1「AAQQZ」,感谢 PoPoQQQ 提供翻译。
IOI2015将要在哈萨克斯坦举行。哈萨克斯坦的「哈萨克」是用字母的QAZAQ拼写的。这个QAZAQ是回文。知晓这一点的JOI君出于对回文的喜爱,准备用眼前的字符串制作一个回文串。
JOI君找到了一个长为N的字符串,每个字符可以用之间的一个整数来表示。从这个字符串第i个位置到第j个位置的字符串称作子串(i,j)。如果子串(i,j)翻转后和原来相等,即,则称子串(i,j)是回文的。JOI君进行如下操作来制作一个回文串:
  1. 首先,选择S的一个子串。不妨设选择的子串为T;
  2. 将子串T按照升序排序,得到T’;
  3. 在S中,用T’替换T,得到S’。我们可以这样描述这三项操作:JOI君选择一个子串(i,j),将按升序排序得到,最终得到
  4. 在这之后,寻找S’中的回文子串。JOI进行如上操作后,想要得到最长的回文子串。
现在JOI君将字符串S交给了你,请你输出JOI君进行如上操作后能得到的最长回文子串的长度。

输入描述

第一行两个空格分隔的正整数N和C,分别表示字符串的长度和字符集大小;
接下来N行,第i行一个正整数S_i,表示字符串S中第i个位置的字符。

输出描述

输出一行一个正整数,表示JOI君进行操作后能得到的最长回文子串的长度。

示例1

输入:

12 26
26
17
17
17
1
26
1
17
19
20
1
14

输出:

8

说明:

样例输入中,N=12,C=26,S=(26,17,17,17,1,26,1,17,19,20,1,14)。JOI君可以选择子串(4,8),将其按照升序排列,得到S’=(26,17,17,1,1,17,17,26,19,20,1,14),这样子串(1,8)就是回文了。这个回文长度为8,是最长可能得到的回文子串。
若转化为字母序列,则原串为ZQQQAZAQSTAN。

示例2

输入:

4 3
1
2
3
2

输出:

3

说明:

对于这组样例,S=(1,2,3,2),可以选择子串(1,1)进行排序,得到S'=(1,2,3,2),子串(2,4)就是回文了。这个回文长度为3,为最长可能得到的回文。

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

上一题