absi2011
一个新的开始吧w 希望这一次能如我所愿w

代码丢家里了系列................

直接搜索.....

每次我们考虑新来的一个数放哪

例如当前序列

1 2 3 4 5

你要放一个6,你可以放哪里呢

1 6 2 3 4 5

6 1 2 3 4 5

1 2 3 4 5 6

一共三个可行解,我们怎么判断是否发生了"1243"的情况

首先6肯定是那个"4",那么我们找到后面最大的"3"是多少

所以我们就在所有比"3"小的里面,枚举一遍看看有没有一个"12"即可

没有的条件是所有比"3"小的从大到小排列

==========================================

这样一直枚举下去,如果逆序对超过40就判不合法

如果某一步除了放最后面以外没有别的放法了就停下来

大概要跑挺久的....大概几十秒?

代码丢家里了...下次回家补上

posted on 2018-08-15 10:55  absi2011  阅读(92)  评论(0编辑  收藏  举报