如果您没有看过题,可以通过此处前往原题链接:https://www.acgo.cn/problemset/info/21794。
关于本题难度其实很早就在 LA 群聊开了,难度由橙到蓝各不相同,大家各抒己见,最终在 1.16,Ri 老师给出了一个大家最能接受的解释 Link。
但是这并不能平息战乱,之后陆陆续续有人发帖表态,但影响力并不是很大。
后来注意到这样的一篇帖子 Link,又看到题解区里质量极其低下的题解,于是我决定试图给出一个相对严谨的证明(期末考一考完就开始写了)。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
不妨将题目看作是给定若干个字符串,要求对其重新排列,使得最终字符串字典序尽可能大。
考虑临项交换。
图片说明:此处将每一个字符串变为“块”来表示,“块”的长短用于体现每个字符串不等长,颜色仅是为了区分。
如上图所示,当我们考虑交换 aia_iai 和 ai+1a_{i+1}ai+1 时,其余 n−2n-2n−2 块都是没有任何影响的,既然是要比较字典序,显然考虑 ai+ai+1a_i+a_{i+1}ai +ai+1 和 ai+1+aia_{i+1}+a_iai+1 +ai 的字典序即可(在字符串中,+ 表示拼接)。
故易得下列代码。
个人难度:黄。