首页 > 其他 > 详细

Project Eular 631

时间:2018-08-15 11:00:55      阅读:154      评论:0      收藏:0      [点我收藏+]

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

直接搜索.....

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

例如当前序列

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就判不合法

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

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

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

Project Eular 631

原文:https://www.cnblogs.com/absi2011/p/9480145.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!