錯位排列——楊子曰數學
超鏈接:數學合集
首先,什麼是錯位排列?
就是你有1號物品,2號物品,3號物品……,它們都有自己對應的箱子:1號箱,2號箱,3號箱……
現在你把物品放到箱子裏,結果一個物品也沒有放對,全部都放錯了,那麼這個時候這些物品所構成的排列就被稱爲錯位排列
接下來,我們來討論錯位排列怎麼求,來簡單推導一下錯位排列總數的遞推
我們用D[i]表示i個物品的錯位排列總數
來看看D[n]怎麼算,我們現在有n個物品,n個箱子:
我們來考慮第1個物品,它只要不放到第一個箱子就行,So,有(n-1)種選擇
比方說我們把它放到2號箱子
現在我們來考慮2號物品怎麼處理
我們要進行分類討論了
-
2號物品放到1號箱子
一旦把2號物品放到1號箱子中以後,有沒有發現剩下的3~n號物品就是一個新的錯位排列了
So,這種情況有D[n-2]種選法 -
2號物品不放到1號箱子
2號物品不能放到1號箱子,那麼這時的1號箱子,就相當於問題最開始的2號箱子,都不能裝2號物品
於是你有沒有發現,紅框裏又是一個新的錯位排列問題了
那麼這種情況就有D[n-1]種選法了
然後1號物品除了放在2號箱子,還可以放在3號,4號……共(n-1)種選擇
綜上所述,
OK,完事
參考:
https://bubbleioa.blog.luogu.org/solution-p4071
於HG機房