【组合数学】全错位排列的递推公式推导 您所在的位置:网站首页 unity怎么组合 【组合数学】全错位排列的递推公式推导

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

2023-05-18 05:22| 来源: 网络整理| 查看: 265

简介

假设现在我有三个信封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(N−2)。

以上是第一种情况,那么对于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)=(N−1)∗[D(N−2)+D(N−1)] 其中肉眼可见: D ( 1 ) = 0 , D ( 2 ) = 1 D(1)=0,D(2)=1 D(1)=0,D(2)=1

附录

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

如果喜欢的话,请点赞~



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有