InsertionSort2
[ARC162B] Insertion Sort 2
本题还是对于不变量的考察,但是比较明显。
首先两个数捆绑插到任意一个位置可以等价为偶数次相邻交换((因为你每次可以这样:比如现在是 a<b<c,a,b,c
,你可以交换 a,c
,变为 c,b,a
,然后交换 ab
,变为 c,a,b
,这样你就会往后挪动一次,往前同理①)。然后我们知道每次相邻交换可以消去/产生一个逆序对,所以奇偶性会改变,改变偶数次就不变,而最后逆序对为
然后我们考虑到对于偶数个逆序对的初始序列一定有解。
只需重复以下过程即可:
找到最小的
对于满足
上述过程在
因此,
code
对于①研究时可能有用的例子:
[1 4] 5 2 3
5 [1 4] 2 3(5,1;1,4交换)
5 2 [1 4] 3(2,1;1,4交换)
本文作者:wscqwq
本文链接:https://www.cnblogs.com/wscqwq/p/17495003.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步