【组合数学】全错位排列的递推公式推导

简介

假设现在我有三个信封A,B,C,并且现在有三个信纸a,b,c。
按照道理的话是,a塞入A信封,b塞入B信封,c塞入C信封。
但是现在,想要问,对于a,b,c全部塞错的情况,有多少种呢?
比如把b塞入A,把c塞入B,把a塞入C就是一种。

解析

对于这个问题,自己推导的时候就卡在了一个很关键的地方,让我怎么也想不明白,后来看了答案后,虽然知道了最终公式是什么,但是网上的“容易得出”,或者干脆略过小熊这个🐷脑袋怎么也想不明白。

让我们先来看看这个问题,现在,我们记错排公式为 D ( N ) D(N) D(N):有N个信封和N个信纸的所有错误排列个数。

小熊是这样推导的:

现在假设我们有,求 D ( N ) D(N) D(N)
(A)(B)(C)(D)…(N)
这几个信封,并且有如下几个信纸:
a、b、c、d…、n

那我首先知道,对于未来所有的结论,第一列应该是:
b…
c…
d…

n…

这么多行,应该总共是 n - 1 行,所以先记录在这里。

那么对于每一行,我想答案应该是相同的,因为它具有对称性(比如,你只需要改改名字)。

下面来看第一行
b…
情况一 这说明,我们在把b信纸塞入(A)信封中,现在,若把a塞入(B)中,也就是a和b的对应信封调换了一下位置,那么剩下的(C)、(D)、(E)、…和信纸c、d、e、…就是一个新的问题,为 D ( N − 2 ) D(N-2) D(N2)

以上是第一种情况,那么对于a信纸不塞入(B)信封中的情况呢?

现在我们有信纸是:a、c、d、…n,因为b已经被塞入了,先别动。

情况二 那我们考虑,把信纸a换一个名字,现在悄悄改为b,这样现在我们有信封(B)、(C)、(D)、…和信纸b、c、d、…n来参与全错位的排列。可以肯定的是,最终结果排列中,每一种排列的b都不会塞入进(B)中,每一种排列的c也不可能塞入(C)中, 所以现在,我再把b的名字悄悄改为a,so~,现在,a不会塞入(B)中,并且我们也统计到了这种情况的所有错位排列。这是情况二。

综合考虑了情况一和情况二,现在我们可以大胆的写出公式了。

递推公式

D ( N ) = ( N − 1 ) ∗ [ D ( N − 2 ) + D ( N − 1 ) ] D(N)=(N-1)*[D(N-2)+D(N-1)] D(N)=(N1)[D(N2)+D(N1)]
其中肉眼可见: D ( 1 ) = 0 , D ( 2 ) = 1 D(1)=0,D(2)=1 D(1)=0,D(2)=1

附录

因为卡住了D(n-1)这个东西是怎么来的,浪费了快两个小时的时间呜呜。

如果喜欢的话,请点赞~

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值