第二类斯特林数

文章介绍了如何使用第二类斯特林数解决将n个不同小球放入m个相同盒子的问题,每个盒子不能为空。给出了递推公式和通项公式,并通过容斥原理进行解释。此外,还展示了与组合数学中其他概念如组合的关联。

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

介绍

nnn个不同的小球,要放在mmm个相同的盒子中,且每个盒子不能为空,问有多少种方案。

第二类斯特林数就是这类问题的答案,其表示方法为S(n,m)S(n,m)S(n,m)

一些公式

我们考虑如何求S(n,m)S(n,m)S(n,m)

首先,S(0,0)=S(1,1)=1S(0,0)=S(1,1)=1S(0,0)=S(1,1)=1S(1,m)=0S(1,m)=0S(1,m)=0,其中m>1m>1m>1

考虑当前放第nnn个小球,它可以和前面的小球放在一个盒子里,也可以新开一个盒子,那么

S(n,m)=m×S(n−1,m)+S(n−1,m−1)S(n,m)=m\times S(n-1,m)+S(n-1,m-1)S(n,m)=m×S(n1,m)+S(n1,m1)

因为空了就不合法,所以可以用容斥来推通项公式

S(n,m)=1m!∑i=0m(−1)iCmi(m−i)nS(n,m)=\dfrac{1}{m!}\sum\limits_{i=0}^m(-1)^i C_m^i(m-i)^nS(n,m)=m!1i=0m(1)iCmi(mi)n

我们先把盒子看作互不相同,其中iii表示至少有iii个盒子为空,(−1)i(-1)^i(1)i是容斥系数,CmiC_m^iCmi表示在mmm个盒子中选iii个为空,nnn个球任意放在剩下(m−i)(m-i)(mi)个盒子中的方案数为(m−i)n(m-i)^n(mi)n。因为盒子相同,而先前我们把盒子看作互不相同,所以要乘上1m!\dfrac{1}{m!}m!1

还有一个比较常见的公式

mn=∑k=0nS(n,k)×Cmk×k!m^n=\sum\limits_{k=0}^nS(n,k)\times C_m^k\times k!mn=k=0nS(n,k)×Cmk×k!

mnm^nmn其实就是把nnn个小球任意地放在mmm个不同的盒子中,每个小球有mmm种选法,盒子可以为空。而kkk枚举的就是非空盒子的个数,CnkC_n^kCnk表示在nnn个盒子中选kkk个为空。因为S(n,k)S(n,k)S(n,k)表示将nnn个不同的球放在kkk个相同的盒子中,再乘上k!k!k!表示放在kkk个不同的盒子中。方案数相同,所以相等。

为了好看一些,我们也可以将m,nm,nm,n的定义互换,得到

nm=∑k=0mS(m,k)×Cnk×k!n^m=\sum\limits_{k=0}^mS(m,k)\times C_n^k\times k!nm=k=0mS(m,k)×Cnk×k!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值