CF1063A Oh Those Palindromes


题目传送门

题意:

改变原字符串的任意字符组成新的字符串使新字符串的回文子串数量最多。

思路:

先想一下:

  1. 每一个字符都是一个回文子串

  2. 随意的两个字符都是一个回文子串


那我们设一个字符串为:“ aaba ”

将字符串排完序以后就变成了 :“ aaab ”

那么这样的字符串难道不是比原字符串的回文子串数量要大吗?

所以说,将原字符串排完序后的字符串的回文子串的数量一定比原字符串的回文子串的数量大

排序用 $sort$ 就好了

代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
		int n;//字符串长度
		string s;//字符串
		cin>>n>>s;//读入
		sort(s.begin(),s.end());//排序(默认从小到大)
		cout<<s<<endl;//输出
		return 0;
}

文章作者: alex_liu
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 alex_liu !
  目录