题目链接
题目分析
题目大意
给出每个字符的数量,使这些字母组成若干个回文字符串,希望字符串的最小长度尽可能大。
解析
分析一下,对于所有的偶数个字符,都可以随意的添加到回文子串中,保证子串仍然为回文串。所以问题出在奇数字符的串中,而奇数字符串又可以分为1 + 偶数
的形式,然后将所有的偶数加和,然后平分到奇数长度的子串上即可。还有一个小问题,因未给奇数串分配字符时,一定是成对出现的,所以当平均分配下来的为奇数时,必然有一个串得到的字符数为ave-1,一个串得到的是ave+1,再加上原来的一个字符,即为答案。
代码
1 |
|