【Codeforces Round #482 (Div. 2) B】Treasure Hunt
<font color = black size = 6> 【链接】</font> <font color = black size = 5> 我是链接,点我呀:) </font> <font color = black size = 6> 【题意】</font> <font color = black size = 4> 在这里输入题意 </font> <font color = black size = 6> 【题解】</font> <font color = black size = 4> 我们考虑每个字符串中出现最多的字母出现的次数cnt[3] 对于这3个cnt的值。 如果cnt+n<=s[i].size 那么显然最多能出现cnt+n次这个字母 但是如果cnt+n>s[i].size() 那就有问题了。 因为每次变换的字母不能和原来的一样。 因此全都变成某个字母之后。接下来肯定会破坏这个全都一样的性质。 所以我们可以这样。 贪心地全都变成这个出现次数最多的字母。 直到只剩下一个字母不为这个字母,也即"xxxaxxxx"中的a 然后我们设剩余轮数为cnt,那么我们再用cnt次操作把这个a一直变换,变成a,b,c,...然后在最后一次把它变成x 这样就能保证最大了。 但是有一种情况例外。 就是n==1,然后cnt[i]==s[i].size() 这种情况只能变换一次。