錯排問題解法

2021-09-08 23:50:24 字數 529 閱讀 4123

背景:同室四人各寫一張賀卡,先集中起來,然後每人從中拿一張別人送出的賀卡,四張賀卡的不同分配方式有多少種?

問題:錯排問題:有n個正整數1,2,3,……n,將這n個正整數重新排列,使其中的每乙個數都不在原來的位置上,這種排列稱為正整數1,2,3,……n的錯排,問這n個正整數的排列方法有多少種?

遞推公式f(n)=(n-1)[f(n-1)+f(n-2)](n>2),f(1)=0,f(2)=1.(尤拉發現)

將n個元素的全錯位排列分成2步完成:

第一步,對於n中的任意乙個元素(如1)有n-1種(其它的2,3,4…n)選擇。

第二步,假設元素1選擇了位置k,那麼接下來排k,又將k的排法分成兩類:第一類,k選擇位置1,則餘下的就是n-2個元素的錯位全排列f(n-2). 

第二類:若k選擇了除1外的其他位置,那麼問題實質上轉化為n-1個元素(2,3,4…n)的錯位全排列f(n-1).由分步和分類計數原理得

f(n)=(n-1)[f(n-1)+f(n-2)](n>2)

錯排問題解法

背景 同室四人各寫一張賀卡,先集中起來,然後每人從中拿一張別人送出的賀卡,四張賀卡的不同分配方式有多少種?問題 錯排問題 有n個正整數1,2,3,n,將這n個正整數重新排列,使其中的每乙個數都不在原來的位置上,這種排列稱為正整數1,2,3,n的錯排,問這n個正整數的排列方法有多少種?遞推公式f n ...

牛客題解 發郵件錯排問題

nowcoder每天要給很多人發郵件。有一天他發現發錯了郵件,把發給a的郵件發給了b,把發給b的郵件發給了a。於是他就思考,要給n個人發郵件,在每個人僅收到1封郵件的情況下,有多少種情況是所有人都收到了錯誤的郵件?即沒有人收到屬於自己的郵件。他給的測試用例和輸入輸出描述是這樣的 n個郵件放入n個郵箱...

錯排問題的二項式反演解法

錯排是乙個很經典的問題,對此,有乙個二項式反演的求法。正常的錯排的公式是基於容斥的。記pi p i表示滿足 i i 號點在自己的位置的排列,那麼錯排就是求乙個 u pi role presentation style position relative u piu pi,那麼很明顯用容斥原理計算一下...