放球问题 组合数学 转自百度百科
![](https://gss3.bdstatic.com/7Po3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D20/sign=99bf30fe0d2442a7aa0efaa5d043426b/bf096b63f6246b600bddb809e9f81a4c500fa2ff.jpg)
种方案。比如,当n=3 时,第 1 个球有m种不同选择,第 2 个球有m种不同选择,第3个球有m种不同选择,据乘法法则总共有
![](https://gss3.bdstatic.com/-Po3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D20/sign=14d91fe9442309f7e36faa12730eee8d/9825bc315c6034a8054cb2fcc913495409237624.jpg)
种方案。
![](https://gss1.bdstatic.com/9vo3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D20/sign=7b1f113e89d4b31cf43c93bb86d6b86e/b3b7d0a20cf431adfa1d49444936acaf2fdd98fb.jpg)
种方案。
根据 [1] 中第二类司特林数的定义,n个有区别的球放到m个相同的盒子中,要求无一空盒,其不同的方案数为S(n,m)。
先介绍允许重复的组合的概念。允许重复的组合是指从集合A={1,2,……,n}中取r个元素{
![](https://gss3.bdstatic.com/-Po3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D76/sign=1a21a71d4dc2d562f608d2ebe7112419/0824ab18972bd40796e3da8079899e510fb309a2.jpg)
},
![](https://gss3.bdstatic.com/7Po3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D131/sign=f96706be3887e9504617f76f2139531b/91ef76c6a7efce1bd271c1b7ad51f3deb48f6570.jpg)
并且允许当
![](https://gss3.bdstatic.com/-Po3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D29/sign=1b8d47a156e736d15c138b019a502984/0824ab18972bd4079679da8079899e510fb30914.jpg)
时,
![](https://gss1.bdstatic.com/9vo3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D45/sign=7cf4b978e7dde711e3d242f3a6ef2195/7a899e510fb30f24eb31e57eca95d143ad4b0327.jpg)
.例如A={1,2,3}, 取A中2个元素作允许重复的组合,除了不重复的{1,2}, {1,3}和{2,3}外,还包含{1,1}, {2,2}, {3,3}。根据 [1] 可知,在n个不同的元素中取r个作允许重复的组合,其组合数为C(n+r-1, r)。设m个不同的盒子构成集合M。每次从集合M中取出n个元素作允许重复的组合。若组合中,第i个盒子出现了k次(n≥k≥0),则表示第i个盒子中有k个球。因此问题可表示为 从m个不同的元素中取n个作允许重复的组合,其方案数为C(m+n-1, n)。
由于要求无空盒,而且n个球无区别,所以先取出m个球放入m个盒子里。此时,这个问题可转化为求将(n-m)个无区别的球放入m个有区别的盒子里,允许有空盒的方案数。这 个 问 题 就 变 成 了 9 所 解 决 的 问 题 。 因此有C(m+(n-m)-1, n-m)=C(n-1, n-m)=C(n-1, n-1-(n-m))=C(n-1,m-1)种方案。
由于n<m,而n个球至多可放入n个盒子里,所以必定有空盒。故满足此条件的方案数为 0。
13. n 个球无区别,m 个盒子无区别,允许有空盒,n≥m≥1
此问题相当于把n个球分成k堆,其中m>=k>1。根据 [1] 中2.9 节的推论:设n≥m,n拆分成最多m个数的和的拆分数等于将n拆分成最大数不超过m的拆分数。据上述推论可把问题转化为把整数n拆分成最大数不超过m的拆分数。而把整数拆分成最大不超过m的拆分数
![](https://gss0.bdstatic.com/94o3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D15/sign=650f6bb6b0fb43161e1f7e7f21a493e1/f11f3a292df5e0fec147827c5e6034a85edf726b.jpg)
的母函数为
![](https://gss2.bdstatic.com/9fo3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D570/sign=694f349c60d9f2d3241124e899ed8a53/d62a6059252dd42a3a8f0ad6013b5bb5c8eab8cc.jpg)
。
![](https://gss0.bdstatic.com/-4o3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D16/sign=e9a2329a932397ddd2799c025882df98/c9fcc3cec3fdfc031edfe8c5d63f8794a4c22623.jpg)
项系数。
14. n 个球无区别,m 个盒子无区别,允许有空盒,m>n≥1
此问题相当于把n个球分成k堆。其中m>=k>1且n>=k>1。又因m>n,所以k的取值范围为n>=k>1。
据13 可知此问题可转化为把整数n拆分成最大数不超过n的拆分数。而把整数拆分成 最 大不 超 过n的 拆 分 数的母函数为
![](https://gss0.bdstatic.com/94o3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D570/sign=7beefcb0fe039245a5b5e108b794a4a8/79f0f736afc37931b2758c54e9c4b74543a911a9.jpg)
![](https://gss0.bdstatic.com/-4o3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D16/sign=e9a2329a932397ddd2799c025882df98/c9fcc3cec3fdfc031edfe8c5d63f8794a4c22623.jpg)
项系数。
我们可先将每个盒子放一个球,然后利用类比13题,即
![](https://gss2.bdstatic.com/9fo3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D570/sign=694f349c60d9f2d3241124e899ed8a53/d62a6059252dd42a3a8f0ad6013b5bb5c8eab8cc.jpg)
![](https://gss2.bdstatic.com/-fo3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D34/sign=3013129776d98d1072d40a35203fd058/ac6eddc451da81cb271507a65866d016082431ed.jpg)
项系数。
由于n<m, 而n个球至多可放入n个盒子里,所以必定有空盒。故满足此条件的方案数为0。
n个球是否有区别 |
m个盒是否有区别 | 是否允许空盒 | n是否大于m | 方案数 | 简要解释 |
是 |
是 |
是 | 是 |
![]() |
每个球有m种可能 |
否 |
![]() |
每个球有m种可能 | |||
否 | 是 |
![]() |
类比盒无区别时,再乘以盒的可能排列 | ||
否 |
![]() |
盒比球多,必有空盒 | |||
否 | 是 | 是 |
![]() |
枚举有球盒的数量,再利用斯特林数 | |
否 |
![]() |
枚举有球盒的数量,再利用斯特林数 |
|||
否 | 是 |
![]() |
根据斯特林数定义 | ||
否 |
![]() |
盒比球多,必有空盒 | |||
否 |
是 | 是 | 是 |
![]() |
插板法或根据可重组合计算公式 |
否 |
![]() |
同上 | |||
否 | 是 |
![]() |
先给每盒放一球,然后利用n-m个球,m个盒子有空盒的解 | ||
否 |
![]() |
盒比球多,必有空盒 | |||
否 |
是 | 是 |
![]() 中 ![]() 的系数 |
母函数方法 | |
否 |
![]() 中 ![]() 的系数 |
母函数方法 | |||
否 | 是 |
![]() 中 ![]() 的系数 |
母函数方法 | ||
否 |
![]() |
盒比球多,必有空盒 |
转载于:https://www.cnblogs.com/l609929321/p/9555155.html
放球问题 组合数学 转自百度百科相关推荐
- 组合数学之放球问题 【附斯特林数】
放球问题在组合数学中是一个经典问题,在ACM比赛中也经常会出现类似的题目,这里做一个归纳. 我们假定现在有n个球,要放到m个盒子中,根据情况的不同主要可以分为一下8类(这里确保n>=m) 编号 ...
- 【集合论】Stirling 子集数 ( 斯特林子集数概念 | 放球模型 | Stirling 子集数递推公式 | 划分的二元关系 加细关系 )
文章目录 一.Stirling 子集数 二.放球模型 三.Stirling 子集数递推公式 四.Stirling 子集数示例 ( 四元集等价关系个数 ) 五.划分的二元关系 加细关系 一.Stirli ...
- 【爬虫实战】10应用Python网络爬虫——定向爬取百度百科文字
python百度百科爬虫 网页源代码分析 编程实现 小结 网页源代码分析 首先找一下需要爬取的正文: 对应的源代码有两个地方: 上图往后翻会发现省略号,所以下面这张图才是我们需要爬取的部分: 编程实现 ...
- 用python 爬取百度百科内容-爬虫实战(一) 用Python爬取百度百科
最近博主遇到这样一个需求:当用户输入一个词语时,返回这个词语的解释 我的第一个想法是做一个数据库,把常用的词语和词语的解释放到数据库里面,当用户查询时直接读取数据库结果 但是自己又没有心思做这样一个数 ...
- python爬虫百度百科-python爬虫(一)_爬虫原理和数据抓取
本篇将开始介绍Python原理,更多内容请参考:Python学习指南 为什么要做爬虫 著名的革命家.思想家.政治家.战略家.社会改革的主要领导人物马云曾经在2015年提到由IT转到DT,何谓DT,DT ...
- linux——百度百科
https://baike.baidu.com/item/linux/27050?fr=aladdin linux 编辑 本词条由"科普中国"百科科学词条编写与应用工作项目审核. ...
- Linux内核——百度百科
https://baike.baidu.com/item/Linux%E5%86%85%E6%A0%B8 Linux内核 编辑 Linux是一种开源电脑操作系统内核.它是一个用C语言写成,符合POSI ...
- 维基百科 百度百科:谁是真正的草根
百度百科上线两个月了,自从上线以来,百度百科一直以"草根百科"的形象示人,它的运营者和拥趸们声称:相比于美国血统的中文维基百科,百度百科会吸引更多中国网民的参与,它更草根,它更适合 ...
- chrome浏览器的性能测试--本文引用自 百度百科http://baike.baidu.com/view/1835504.htm
Google Chrome,又称Google浏览器,是一个由Google(谷歌)公司开发的开放原始码网页浏览器.该浏览器是基于其他开放原始码软件所撰写,包括WebKit和Mozilla,目标是提升稳定 ...
最新文章
- python程序不出结果_超详细的Python入门教程,1小时就可以学会
- linux 控制网卡流量,如何管理和控制多网卡 Linux 虚拟机的流量走向
- Keras MNIST
- 获取客户端浏览器信息
- YbtOJ-森林之和【dp】
- android studio找不到r文件,Apk 中找不到r类文件
- 修改分值,总分不能超过100
- 【深度学习】基于Keras的手写体识别
- stm32最小原理图的PCB图绘制(含AHT20温度传感器)
- 最新MATLAB R2020b超详细安装教程(附完整安装文件)
- ASO关键词覆盖怎么做?要做到多少?怎么提升aso关键词覆盖率
- C语言刷题6:给定b的值,输入a和m,求a*b和a^m的值
- linux 驱动笔记(七)
- nginx压缩静态文件
- springboot项目运行错误‘com.wei.service.UserService‘ in your configuration
- 新版天猫刷红包js代码以及使用方式增加砸金砖代码
- Linux进程内存分析pmap命令
- dubbo面试知识总结
- 崔毅东 C++程序设计入门(上) 第5单元:万类霜天竞自由 – 对象和类的更多内容 笔记
- 1对多 只取一条 mysql_MySQL 多表关联一对多查询实现取最新一条数据的方法示例...