CF1063A Oh Those Palindromes

CF1063A Oh Those Palindromes

 

 

給你一個字符串,讓你從新給這些字符排序,使得排序後迴文子串的個數儘可能多,多解輸出一組便可c++

 

 

仍是太弱啦,看了題解spa

首先只有一種字符$a$,那麼就是$aa$code

考慮加入一個新的字符,$aab$和$aba$blog

原迴文串的迴文子串的個數是$3$排序

那麼插入中間獲得的迴文子串的個數是$3$ci

而插入一邊獲得的迴文子串的個數是$4$字符串

 

若是這個原迴文字符是奇數個,即$aaa$get

考慮將$b$插入其中,$abaa$或$aaab$it

其迴文子串個數分別是$6$和$7$io

 

可見插入中間其獲得的方案數反而不會增長,甚至會致使其中的有些字符會不匹配

 

結論是:使每個字符儘可能獨立獲得的答案纔是最優的

 

#include<bits/stdc++.h>

using namespace std;

int n;
char a[100005];

int main()
{
    scanf("%d",&n);
    for(int i=1;i<=n;i++) cin>>a[i];
    sort(a+1,a+1+n);
    for(int i=1;i<=n;i++) cout<<a[i];
    
    
    return 0;
}
相關文章
相關標籤/搜索