CodeForces -Oh Those Palindromes

题目链接

题意:给一个字符串,对字符串重新排列使得该字符串含有的回文子串数目最多。

题解:先统计每种字符的个数,最开始卡在了如何组合两种或多种字符使回文子串最多,看官方题解,某种字符个数为X,包含X(X+1)/2个回文子串,只需要把每种字符放一起就行了。

#include<cstdio>
#include<cstdlib>
#include<algorithm>
#include<iostream>
#include<math.h>
#include<queue>
#include<stack>
#include<cstring>
#include<string>
//#include<map>
typedef long long LL;
using namespace std;

char s[100000]; int n;
int cmp(char a, char b) {
	return a > b;
}

int main() {
	ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	cin >> n;
	cin >> s;
	sort(s, s+ n, cmp);
	for (int i = 0; i < n; i++)cout << s[i];
}

猜你喜欢

转载自blog.csdn.net/leo_10/article/details/83064831