錯排問題

錯排問題:

對於一個長度爲n的排列,若排列中的所有元素都不在原來的位置上,那麼這樣的排列就是原排列的一個錯排。

設d(n)爲長度爲n的排列的錯排數,d(n)的前幾項爲:
0,1,2,9,44,265,1854,

遞推公式:

顯然d(1)=0,d(2)=1

當n>=3時,假設n放在了第k位,因爲要滿足錯排,所以1<=k<=n-1,
因爲n排在第k位,那麼k就要換到其他位置:
1.假設k換到第n位,因爲k到n已經是錯排,這時除了n和k兩個已經錯排的,還有n-2個位置需要錯排,所以方案數爲d(n-2)
2.假設k不換到第n位,將第n位重新考慮爲第k位(假設k的原位置爲n),此時包括k在內的n-1個數的錯排都等價於只有n-1個數的錯排,方案數爲d(n-1)

綜上可得:對於k的某一個取值,方案數爲d(n-2)+d(n-1),因爲k有1到(n-1)這n-1種取值,所以d(n)=(n-1)(d(n-2)+d(n-1))

通項公式:

公式1
在這裏插入圖片描述

公式2
錯排公式的原形爲D(n) = n! (1/0! - 1/1! + 1/2! - 1/3! - … + (-1)^n/n!),當n很大時計算很不方便。
簡化後的公式爲D(n) = [n!/e+0.5] ,其中e是自然對數的底,[x]爲x的整數部分(即向下取整)。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章