错排问题
错排问题
:对一组排列重新排列,使得任何一个元素和之前所在位置均不相同
1、使用递推关系
设 D n D_n Dn 表示 n n n 个元素错排方式数量。
假设对 1 … n 1\dots n 1…n这 n n n 个数进行排列。原来的排列方式即为按顺序排列。
①先将 n n n 和任意一个数交换位置,再错排
方案数共有: ( n − 1 ) D n − 2 (n-1)D_{n-2} (n−1)Dn−2
②先将除了 n n n 以外的数错排,再任选一个位置上的数与 n n n 交换位置
方案数共有: ( n − 1 ) D n − 1 (n-1)D_{n-1} (n−1)Dn−1
D
n
=
(
n
−
1
)
(
D
n
−
2
+
D
n
−
1
)
D_{n}=(n-1)(D_{n-2}+D_{n-1})
Dn=(n−1)(Dn−2+Dn−1)
令
D
n
n
!
=
E
n
\frac{D_n}{n!}=E_n
n!Dn=En,则
E
n
=
n
−
1
n
(
n
−
1
)
D
n
−
2
(
n
−
2
)
!
+
n
−
1
n
D
n
−
1
(
n
−
1
)
!
=
1
n
E
n
−
2
+
(
1
−
1
n
)
E
n
−
1
\begin{aligned} E_n&=\frac{n-1}{n(n-1)}\frac{D_{n-2}}{(n-2)!}+\frac{n-1}{n}\frac{D_{n-1}}{(n-1)!}\\ &=\frac{1}{n}E_{n-2}+(1-\frac{1}{n})E_{n-1}\\ \end{aligned}
En=n(n−1)n−1(n−2)!Dn−2+nn−1(n−1)!Dn−1=n1En−2+(1−n1)En−1
⟹ E n − E n − 1 = − 1 n ( E n − 1 − E n − 2 ) = ( − 1 ) n n ! \Longrightarrow E_n-E_{n-1}=-\frac{1}{n}(E_{n-1}-E_{n-2})=\frac{(-1)^n}{n!} ⟹En−En−1=−n1(En−1−En−2)=n!(−1)n
D n = n ! E n = n ! ( ∑ i = 0 n ( − 1 ) n 1 i ! ) D_n=n!E_n=n!(\sum_{i=0}^n(-1)^n\frac{1}{i!}) Dn=n!En=n!(i=0∑n(−1)ni!1)
2、使用容斥原理
此图片文章原文链接:
知乎@哈维