错排公式

某君写了 n 封信,并且有 n 个信封,如果所有的信都装错了信封,那么会有多少种不同的情况?

题解:
设 n 封信,所有信都装错的情况为 Fn​ 。
所以当添加第 n 封信的时候,我们可以直接想到,这封信与前 n - 1 封信中的一封放错,那么我们就有 n - 1 种选择。所以我们就可以得到Fn−1​ ×(n−1)种情况。

这个时候仿佛已经是最后的答案了,但是我们如果仔细想的话,我们会发现我们疏漏了一种情况。因为前 n - 1 封信都是错排,所以 Fn−1​ 的方案里面不会存在有一封信放在正确的位置。但是如果有一封信放在正确的位置,那么第 n 封信与他错排,依然是一种方案。这个时候就相当于 n - 2 封信相互错排,前 n - 1 封中的一封信和第 n 封信错排。所以我们就可以得到 Fn−2​ ×(n−1) 方案数。

到这里,我们已经可以得出这个递推式了,根据乘法原理:Fn = (n - 1)(Fn-1 + Fn-2)。
特别的 F1 = 0, F2 = 1。

百度百科更容易理解:https://baike.baidu.com/item/错排公式/10978508?fr=aladdin

当n个编号元素放在n个编号位置,元素编号与位置编号各不对应的方法数用D(n)表示,那么D(n-1)就表示n-1个编号元素放在n-1个编号位置,各不对应的方法数,其它类推.
第一步,把第n个元素放在一个位置,比如位置k,一共有n-1种方法;
第二步,放编号为k的元素,这时有两种情况:⑴把它放到位置n,那么,对于剩下的n-1个元素,由于第k个元素放到了位置n,剩下n-2个元素就有D(n-2)种方法;⑵第k个元素不把它放到位置n,这时,对于这n-1个元素,有D(n-1)种方法;
综上得到
D(n) = (n-1) [D(n-2) + D(n-1)]
特殊地,D(1) = 0, D(2) = 1.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值