容斥定理与错排问题

关于错排问题

给定 n n n 个数字,求数字 1 , 2 , ⋯   , n 1,2,\cdots,n 1,2,,n 不排列在第 1 , 2 , ⋯   , n 1,2,\cdots,n 1,2,,n 上的排列数量称为错排问题。

容斥定理

X 1 , ⋯   , X n X_1,\cdots,X_n X1,,Xn 为可数集合,那么 ∣ X 1 ∪ ⋯ ∪ X n ∣ |X_1\cup\cdots\cup X_n| X1Xn
∣ X 1 ∪ ⋯ ∪ X n ∣ = ∑ k = 1 , 1 ⩽ i 1 < ⋯ < i k ⩽ n n ( − 1 ) k + 1 ∣ X i 1 ∩ ⋯ ∩ X i k ∣ |X_1\cup\cdots\cup X_n|=\sum_{k=1,1\leqslant i_1<\cdots<i_k\leqslant n}^n(-1)^{k+1}|X_{i_1}\cap\cdots\cap X_{i_k}| X1Xn=k=1,1i1<<iknn(1)k+1Xi1Xik

求解错排问题

给定 n n n 个数字,我们令
Y i : = { Permutations that number  i  is not at the position  i } Y_i:=\{\text{Permutations that number }i\text{ is not at the position }i\} Yi:={Permutations that number i is not at the position i}

例如给定 n = 3 n=3 n=3,我们有
Y 1 = { 213 , 312 , 231 , 321 } Y_1=\{213,312,231,321\} Y1={213,312,231,321}

根据错排问题的描述,从 n n n 个数字的全排列中去除一个数字排对的情况、两个数字排对的情况、……、 n n n 个数字排对的情况就得到了错排问题的全部可能排列。那么 n n n 数情况下错排问题的解 a n a_n an 即为
a n = n ! − ∣ Y 1 ∪ ⋯ ∪ Y n ∣ \begin{aligned} a_n&=n!-|Y_1\cup\cdots\cup Y_n|\\ \end{aligned} an=n!Y1Yn

显然对于互不相等的 1 ⩽ i 1 < ⋯ < i k ⩽ n 1\leqslant i_1<\cdots<i_k\leqslant n 1i1<<ikn,有
∣ Y i 1 ∩ ⋯ ∩ Y i k ∣ = C n k ( n − k ) ! |Y_{i_1}\cap\cdots\cap Y_{i_k}|=C_n^k(n-k)! Yi1Yik=Cnk(nk)!

k k k 个数字排对,其余数字随意排列得到的排列数量。那么有
a n = n ! − ∣ Y 1 ∪ ⋯ ∪ Y n ∣ = n ! − ∑ k = 1 n ( − 1 ) k + 1 C n k ( n − k ) ! = n ! − ∑ k = 1 n ( − 1 ) k + 1 n ( n − 1 ) ⋯ ( n − k + 1 ) k ! ( n − k ) ! = n ! − n ! ∑ k = 1 n ( − 1 ) k + 1 k ! = n ! ( 1 + ∑ k = 1 n ( − 1 ) k k ! ) = n ! ∑ k = 0 n ( − 1 ) k k ! \begin{aligned} a_n&=n!-|Y_1\cup\cdots\cup Y_n|\\ &=n!-\sum_{k=1}^n(-1)^{k+1}C_n^k(n-k)!\\ &=n!-\sum_{k=1}^n(-1)^{k+1}\frac{n(n-1)\cdots(n-k+1)}{k!}(n-k)!\\ &=n!-n!\sum_{k=1}^n\frac{(-1)^{k+1}}{k!}\\ &=n!\left(1+\sum_{k=1}^n\frac{(-1)^{k}}{k!}\right)\\ &=n!\sum_{k=0}^n\frac{(-1)^k}{k!} \end{aligned} an=n!Y1Yn=n!k=1n(1)k+1Cnk(nk)!=n!k=1n(1)k+1k!n(n1)(nk+1)(nk)!=n!n!k=1nk!(1)k+1=n!(1+k=1nk!(1)k)=n!k=0nk!(1)k

为了便于求解,给出 a n a_n an 的递推。对于 n ⩾ 1 n\geqslant 1 n1,我们有
a n − n a n − 1 = n ! ( − 1 ) n n ! = ( − 1 ) n ⇒ a n = n a n − 1 + ( − 1 ) n a_n-na_{n-1}=n!\frac{(-1)^n}{n!}=(-1)^n\Rightarrow a_n=na_{n-1}+(-1)^n annan1=n!n!(1)n=(1)nan=nan1+(1)n

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值