【组合数学】8 种盒中放球问题详解

本文详细探讨了8种盒中放球问题的解决方案,包括相同球放入相同或不同盒子,允许或不允许盒子为空的情况。通过转移方程、隔板问题和斯特林数等数学概念进行阐述,并提供了计算不同场景下方案数的方法。

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

  1. n n n 个相同的球,放入 k k k 个相同的盒子,盒子不允许为空。

    • d p i , j dp_{i,j} dpi,j i i i 个球放入 j j j 个盒子里(允许为空)的方案数。
    • 则转移方程为: d p i , j = d p i , j − 1 + d p i − j , j dp_{i,j}=dp_{i,j-1}+dp_{i-j,j} dpi,j=dpi,j1+dpij,j
    • 可分为有空盒子以及没有空盒子两种情况:
      • 有空盒子 d p i , j − 1 dp_{i,j-1} dpi,j1(加入一个空盒子)。
      • 没有空盒子 d p i − j , j dp_{i-j,j} dpij,j(每个盒子放一个,剩下的就是相似子问题
    • 答案即为 d p n , k − d p n , k − 1 dp_{n,k}-dp_{n,k-1} dpn,kdpn,k1
    • 可以从集合的角度感性理解一下。
  2. n n n 个相同的球,放入 k k k 个相同的盒子,盒子允许为空。

    • 状态定义转移方程见上一条(原理相同)。
    • 根据定义,答案即为 d p n , k dp_{n,k} dpn,k
  3. n n n 个相同的球,放入 k k k 个不同的盒子,盒子不允许为空。

    • 隔板问题
    • 由于所有球相同,可以把 n n n 个球排成一排,中间有 n − 1 n-1 n1 个空隙,而需要分成 k k k 份,所以要插入 k − 1 k-1 k1 个板子把它们隔开
    • 这是经典的隔板问题,方案数为 C n − 1 k − 1 C_{n-1}^{k-1} Cn1k1
  4. n n n 个相同的球,放入 k k k 个不同的盒子,盒子允许为空。

    • 等价于 n + k n+k n+k 个相同的球,放入 k k k 个不同的盒子,盒子不允许为空的问题。
    • 由于盒子不允许为空,所以显然每个盒子里面有 1 1 1 个以上的球。
    • 那么把每一个盒子里拿走一个球,总共拿走了 k k k 个球,剩下 n n n 个球。
    • 此时可能出现盒子为空的情况,也就是原本要解决的问题。
    • 即答案为 C n + k − 1 k − 1 C_{n+k-1}^{k-1} Cn+k1k1
    • PS:这种未知转化为已知的思维可以巧妙地解决很多问题。
  5. n n n 个不同的球,放入 k k k 个相同的盒子,盒子不允许为空。

    • OIer 们最喜欢的板子题
    • 亿眼鉴定为第二类斯特林数(Stirling 数)。
    • 定义:将 n n n 个数划分为 k k k非空子集的方案数。

    • 这正是本题所求,至于如何求解自己上网搜(bushi)。
    • 感觉看着有点像 DP?我们定义它的值为: S n , k S_{n,k} Sn,k
    • 对于第 n n n 个球,可以新开一个盒子,也可以放在已有盒子
    • 由此写出递推式: S n , k = S n − 1 , k − 1 + S n − 1 , k × k    ( 1 ≤ k ≤ n ) S_{n,k}=S_{n-1,k-1}+S_{n-1,k} \times k \ \ (1 \leq k \leq n) Sn,k=Sn1,k1+Sn1,k×k  (1kn)
    • 预处理: S 0 , 0 = 1 ,   S 0 , i = 0 S_{0,0} = 1, \ S_{0,i} = 0 S0,0=1, S0,i=0
    • 根据定义,答案为 S n , k S_{n,k} Sn,k
  6. n n n 个不同的球,放入 k k k 个相同的盒子,盒子允许为空。

    • 这不是和上一条是一样的吗?
    • 答案显然就是 ∑ i = 1 k S n , k \sum_{i=1}^{k} S_{n,k} i=1kSn,k
  7. n n n 个不同的球,放入 k k k 个不同的盒子,盒子不允许为空。

    • 还是一样 awa,只是盒子不同而已。
    • 答案显然是 S n , k × k ! S_{n,k} \times k! Sn,k×k!,因为可以换盒子,就乘上一个选盒子方案数
  8. n n n 个不同的球,放入 k k k 个不同的盒子,盒子允许为空。

    • 显然对于 n n n 个球,每个都有 k k k 种放置方式。
    • 所以答案为 k n k^n kn

后记

好久没发帖子惹,所以来水一波。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值