1. 程式人生 > >Project Eular 631

Project Eular 631

逆序對 系列 個數 我們 枚舉 project 所有 最大 一個

代碼丟家裏了系列................

直接搜索.....

每次我們考慮新來的一個數放哪

例如當前序列

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