组合数学——错序排列

本文探讨了如何使用递推方法解决组合数学中错序排列的问题,通过Fn表示放错序号苹果的方案数,给出了递推公式并分析了容斥原理的应用。详细介绍了两种方法,包括从错排和唯一正确位置转移的思路,以及通过计算不同情况下的组合数来求解总数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

组合数学——错序排列

问题:有5个编号的箱子和5个编号的苹果,现在要把这5个苹果放进5个箱子里,每个箱子放一个,问有多少种放法使得每个箱子的编号和其内部苹果编号不相同。形式化地讲,设集合 PPP 表示每个箱子 iii 内苹果编号是PiP_iPi,问有多少种PPP满足 ∀i,Pi≠i\forall i,P_i\neq ii,Pi=i

方法一:递推

为方便书写,规定“放错”即 Pi≠iP_i\neq iPi=i ,“放对“反之。

不难想到设 FnF_nFn 表示 nnn 个箱子按题目要求放 nnn 个苹果的方案数。

考虑新放一个苹果,放在哪里不好说,所以姑且将它放在新箱子里,然后与前面一个交换。

那么可以从两种情况转移:

  • n−1n-1n1 个都“放错“。那么第 nnn 个苹果和前 n−1n-1n1 个苹果任意一个交换都是合法的,即有 n−1n-1n1 种选择,所以可以从 Fn−1×(n−1)F_{n-1}\times(n-1)Fn1×(n1) 转移。

  • n−1n-1n1至少有一个“放对“。但是会发现如果有超过一个“放对“,需要至少两次的交换,那么就会重复计数。

    所以这种情况等价于前 n−1n-1n1仅有一个“放对“。

    我们的新苹果必须要跟那个“放对”的苹果交换,也就是只有一种可能。问题在于这种情况下的长度为 n−1n-1n1 的序列有多少种。

    问题变得朴素许多。先将 n−2n-2n2 个苹果错序排好,即有 Fn−2F_{n-2}Fn2 种序列。再加入一个“放对”的苹果,有 n−1n-1n1 个空位,故有 n−1n-1n1 种放法,所以此情况可以从 Fn−2×(n−1)F_{n-2}\times (n-1)Fn2×(n1) 转移。

综上,得出递推式 Fn=Fn−1×(n−1)+Fn−2×(n−1)=(n−1)(Fn−1+Fn−2)F_n=F_{n-1}\times(n-1)+F_{n-2}\times(n-1)=(n-1)(F_{n-1}+F_{n-2})Fn=Fn1×(n1)+Fn2×(n1)=(n1)(Fn1+Fn2)


方法二:容斥原理

未知

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值