排列组合算法

例如,S(4,2)=7,这7 种不同的放置方法依次为 {(1),(234)}, {(2),(134)}, {(3),(124)}, {(4),(123)}, {(12),(34)}, {(13),(24)}, {(14),(23)}。以此类推我们可以发现第k轮离开操场的一定可以这样表示,2^k*x+1,2^k*x+3,2^k*x+5,2^k*x+7···2^k*(x+1)+1,2^k*(x+1)+3,2^k*(x+1)+5,2^k*(x+1)+7···当分成(4,1,1,1)时,有C(4,7)种=35。
摘要由CSDN通过智能技术生成

1、给定n 个有标号的球,标号依次为1,2,…,n。将这n 个球放入r 个相同的盒子里,不允许 有空盒,其不同放置方法的总数记为S(n,r)。例如,S(4,2)=7,这7 种不同的放置方法依次为 {(1),(234)}, {(2),(134)}, {(3),(124)}, {(4),(123)}, {(12),(34)}, {(13),(24)}, {(14),(23)}。当n=7,r=4 时,S(7,4)= _____________。

解答:

有两种方法。

1、因为球可以分成(4,1,1,1)和(3,2,1,1)和(2,2,2,1)三种,所以我们可以进行分类讨论。

      当分成(4,1,1,1)时,有C(4,7)种=35

      当分成(3,2,1,1)时,有C(3,7)*C(2,4)种=210

      当分成(2,2,2,1)时,有C(2,7)*C(2,5)*C(2,3)/3!种=105。这里/3!的原因是2,2,2的分法可能会出现重复。

      所以一共有35+210+105=350种

2、使用递推公式S(n,r)=S(n-1,r)*r+S(n-1,r-1)

      因为将n个球放入r个相同的盒子里,所以最后一个球有两种放法:

      1、相当于把前n-1个球放好,然后放最后一个,所以是S(n-1,r)*r种

      2、相当于把最后一个球独立放一个盒子,所以是S(n-1,r-1)种

      所以,公式为S(n,r)=S(n-1,r)*r+S(n-1,r-1)

不过我个人认为比赛时还是第一种方法比较好。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值