Codeforces Round #733 (Div. 1 + Div. 2) E. Minimax(构造)
链接
题意:给出字符串,字符串的字串是从
1
→
i
1 \to i
1→i,字符串的代价是所有字串最大的前缀和后缀相同的长度的最大,现在要重新排列这个字符串,让他的代价最小,并且字典序最小
思路:一堆情况,分类讨论
- 只有一个字母,就之间输出
- 两个字母,就xyxx…xy…y这样构造
- 两个以上的字母,如果字典序最小的字母没有超过一半,就先输出两个字典序最小的,然后跟剩下的配对,直到配对完了顺序输出剩下的
- 同两个以上,但是字典序最小超过一半,先输出一个字典序最小的,然后输出字典序次小的,然后顺序输出所有字母
。。。