九度 OJ 1451 錯排 動規

2021-07-16 15:31:24 字數 439 閱讀 6938

對於排列數較多的情況,難以採用列舉法。這時可以用遞迴思想推導錯排數的遞迴關係式。

顯然d1=0,d2=1。當n≥3時,不妨設n排在了第k位,其中k≠n,也就是1≤k≤n-1。那麼我們現在考慮第n位的情況。

所以當n排在第k位時共有dn-2+dn-1種錯排方法,又k有從1到n-1共n-1種取法,我們可以得到:

d n=(n-1)(d

n-1+d

n-2) 

[2]

**:#include using namespace std;

#define maxn 20

typedef long long ll;

ll dp[21];

int combine(int n)

int main()

int p ;

while (cin>>p){

cout<

九度OJ 1451 不容易系列之一 動態規劃

題目描述 大家常常感慨,要做好一件事情真的不容易,確實,失敗比成功容易多了!做好 一件 事情尚且不易,若想永遠成功而總從不失敗,那更是難上加難了,就像花錢總是比掙錢容易的道理一樣。話雖這樣說,我還是要告訴大家,要想失敗到一定程度也是不容易的。比如,我高中的時候,就有乙個神奇的女生,在英語考試的時候,...

九度OJ 1451 不容易系列之一 動態規劃

題目描述 大家常常感慨,要做好一件事情真的不容易,確實,失敗比成功容易多了!做好 一件 事情尚且不易,若想永遠成功而總從不失敗,那更是難上加難了,就像花錢總是比掙錢容易的道理一樣。話雖這樣說,我還是要告訴大家,要想失敗到一定程度也是不容易的。比如,我高中的時候,就有乙個神奇的女生,在英語考試的時候,...

九度OJ題目1202 排序

題目描述 對輸入的n個數進行排序並輸出。輸入 輸入的第一行包括乙個整數n 1 n 100 接下來的一行包括n個整數。輸出 可能有多組測試資料,對於每組資料,將排序後的n個整數輸出,每個數後面都有乙個空格。每組測試資料的結果佔一行。樣例輸入 4 1 4 3 2 樣例輸出 1 2 3 4 2006年華中...