Two Permutations (Easy Version)

居然自己还是做出来大部分的,还是可以了

首先我们只考虑一个数列如何变化成升序。假设我们从头开始变化,假设有对1 ~ i1来说有aj=j,但是现在aii,于是我们找到i的位置,设为k,我们要想办法将ak=i接在ai1后面,于是就先把ai1弄到末尾,再将ak弄到i1后面,就有了官方题解的交换方法

我们可以发现,这其实是让三步交换两个数

于是有了官方题解的那些讨论

我主要是卡在了最后,当构造出来的方案奇偶性不同且n,m都为偶数的时候,我始终构造不出来一个合法的方案,其实现在就应该想无解了。具体证明见官方题解。至于为什么此时无解:那么由于任意序列的逆序对数量均是确定的,显然对于任意的给定的长度为偶数的起始和终止序列,操作数的奇偶性也是确定的,无法通过任何方式进行调整。

posted @   最爱丁珰  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示