球盒问题

  • 1.球相同 盒不同 无空箱
  • 2.球相同 盒不同 允许空箱
  • 3.球不同 盒相同 无空箱
  • 4.球不同 盒相同 允许空箱
  • 5.球不同 盒不同 无空箱
  • 6.球不同 盒不同 允许空箱
  • 7.球相同 盒相同 无空箱
  • 8.球相同 盒相同 允许空箱

n个球放入m个盒子里一共是八种情况:

1.球相同 盒不同 无空箱

①ans=C(n−1,m−1)(n>=m)②ans=0(n<m)① ans=C(n-1,m-1) (n>=m)\\ ② ans=0 (n<m) ①ans=C(n−1,m−1)(n>=m)②ans=0(n<m)
可以用插板法,n 个球中总共有 n-1 个空隙,根据条件,我们只需要在 n−1 个空隙中插 m-1 个板子即可。

2.球相同 盒不同 允许空箱

ans=C(n+m−1,m−1)ans=C(n+m-1,m-1) ans=C(n+m−1,m−1)
既然允许有空盒,那么我们可以多加 m 个“虚”的球,预先塞进每个盒子。

这样问题就化归成了有 n+m 个相同的球和 m 个不同的盒子,不允许有空盒的情况,直接运用上面的结论就可以解决问题了。

3.球不同 盒相同 无空箱

即第二类斯特林数
①dp[n][m]=m∗dp[n−1][m]+dp[n−1][m−1](1<=m<n)dp[k][k]=1(k>=0)dp[k][0]=0(k>=1)②ans=0(n<m)①dp[n][m]=m*dp[n-1][m]+dp[n-1][m-1] \ (1<=m<n)\\ dp[k][k]=1 \ (k>=0)\\ dp[k][0]=0 \ (k>=1)\\ ②ans=0 \ (n<m) ①dp[n][m]=m∗dp[n−1][m]+dp[n−1][m−1] (1<=m<n)dp[k][k]=1 (k>=0)dp[k][0]=0 (k>=1)②ans=0 (n<m)
对于第 n 个球,如果之前的 n-1 个球已经放在了 m 个盒子里,那么第 n 个球就可以随便放在这 m 个盒子中,因为我没有新开一个盒子,那么答案就是m×dp[n-1,m]。
另外,如果我是新开了一个盒子,那么只有一种可能,答案是 dp[n-1][m-1]。

4.球不同 盒相同 允许空箱

ans=∑dp[n][i],0<=i<=m,dp[n][m]ans= \sum dp[n][i],0<=i<=m,dp[n][m] ans=∑dp[n][i],0<=i<=m,dp[n][m]
状态转移方程同第三种情况。
其实允许空盒就是可以不用把 m 个盒子全部用完,那么就直接在上一种情况的基础上枚举实际用到的盒子的个数,将答案累加起来就可以了。

5.球不同 盒不同 无空箱

ans=m!×dp(n,m)ans=m!×dp(n,m) ans=m!×dp(n,m)
较第三种情况就多了盒的有序性,dp(n,m)是相同的情况,m!是考虑顺序。

6.球不同 盒不同 允许空箱

ans=mnans=m^n ans=mn
每个球都有m种选择,所以就等于m^n。

7.球相同 盒相同 无空箱

dp[n][m]=dp[n−m][m](n>=m)dp[n][m]=0(n<m)dp[n][m]=dp[n-m][m] (n>=m)\\ dp[n][m]=0 (n<m) dp[n][m]=dp[n−m][m](n>=m)dp[n][m]=0(n<m)
dp[n][m]dp[n][m]dp[n][m]表示已放进 nnn 个球,有 mmm 个盒子。

8.球相同 盒相同 允许空箱

dp[n][m]=dp[n][m−1]+dp[n−m][m](n>=m)dp[n][m]=dp[n][m−1](n<m)边界:dp[k][1]=1dp[n][m]=dp[n][m-1]+dp[n-m][m]\ (n>=m)\\ dp[n][m]=dp[n][m-1] \ (n<m)\\ 边界:dp[k][1]=1 dp[n][m]=dp[n][m−1]+dp[n−m][m] (n>=m)dp[n][m]=dp[n][m−1] (n<m)边界:dp[k][1]=1

dp[n][m]dp[n][m]dp[n][m]表示已放进 nnn 个球,有 mmm 个盒子。
考虑小球比盒子多时,可以选择将盘子不放满或者放满分别对应 dp[n][m−1]和dp[n−m][m]dp[n][m-1] 和 dp[n-m][m]dp[n][m−1]和dp[n−m][m]。
但小球比盒子少时,已经不存在放满的情况了,直接$ dp[n][m-1]$ 。

【C++】球盒问题总结(八种情况)相关推荐

  1. MSN无法登陆的八种情况

    经常看到用户反映说MSN Messenger无法登录,碰到的一串数字的错误码.现列出以下几条常见的帮障,说不定你无法登陆MSN的原因就属于其中一种. 1.如果你的帐号和密码没有在MSN中保存,你需要确 ...

  2. 省略to的动词不定式八种情况

    省略to的动词不定式八种情况 一.感觉动词后省略to的情况 主语+ (四看see/watch/notice/look at,三使役let/make/have,两听listen to/hear, 一感觉 ...

  3. JUC之锁的八种情况

    准备工作 创建一个资源类Phone(手机), 里面两个方法sendEmail(发邮件), sendSMS(发短信), 都是线程同步方法 class Phone {public synchronized ...

  4. 排列组合中的八种球盒模型

    一般的排列组合场景都可以抽象为「把球放入盒子」的问题.根据场景不同,球或盒子有以下性质: 球和球之间是否相同. 盒与盒之间是否相同. 放完之后,是否允许有空盒子. 组合以上性质,共有八种场景. 是否相 ...

  5. 计算机故障的现象有哪些,八种常见CPU故障现象的分析与处理_计算机硬件与网络_IT /计算机_信息...

    八种常见CPU故障现象的分析和处理214 Mini Games http: 1.机箱噪声: 故障现象: 在使用CPU升级计算机之后,每次打开计算机时,噪声都会很大. 但是使用一段时间后,声音恢复正常. ...

  6. 专家把脉,深入分析八种前景看好的物联网业务形态

    来源:通信世界全媒体 摘要:物联网将会为经济带来新动力,对社会带来新变革,它的业务形态也在发展变化.未来随着更多成熟的业务场景的出现,会演变出更多有前景的应用形态,也会带来更多的市场机会. 万物互联是 ...

  7. 一个人就需要对象之js中八种创建对象方式

    前言:说,点进来是不是喜欢我的笑容!!!大家好,我叫C乐,(恩,很直不gay)一名退役的大学生,喜欢摩旅.从上课的一次css接触后,便喜欢上了前端,以下是我的一些学习笔记,站在前辈们的肩膀上,分享一些 ...

  8. 电子计算机是一种精准的仪器,常见的八种无损检测仪器

    常见的八种无损检测仪器 无损检测设备是工业发展必不可少的有效工具,在一定程度上反映了一个国家的工业发展水平,其重要性已得到公认.无损检测设备的最大特点就是能在不损坏试件材质.结构的前提下进行检测,所以 ...

  9. 八种反应表示员工认可你

    八种反应表示员工认可你 作者:ANNA LIU编 来源: <世界经理人>杂志 发表在[url]www.hr.com[/url]上的一篇文章指出,欲了解你的管理风格是否为员工所认可,有八种迹 ...

  10. SSO单点登录三种情况的实现方式详解

    SSO单点登录三种情况的实现方式详解 单点登录(SSO--Single Sign On)对于我们来说已经不陌生了.对于大型系统来说使用单点登录可以减少用户很多的麻烦.就拿百度来说吧,百度下面有很多的子 ...

最新文章

  1. [LeetCode] Remove Duplicates from Sorted Array II
  2. Java使用预定格式获取时间字符串
  3. Springboot日志log4j的配置
  4. linux建立与删除目录
  5. 基于 OpenFire 的TVBox管理平台开发笔记
  6. UIView的autoresizingMask属性
  7. java接收json字符串_JAVA后台接收前台传过来的json字符串并解析获得key 和value
  8. vc如何打开plt图像_opencv_python从zero到hero————之图像基本操作01
  9. linux 下挂载光驱
  10. 学习POI处理word
  11. Unity学习笔记(一)——C#语法基础
  12. 新手学JavaScript都要学什么?
  13. vnc远程控制linux密码,如何使用VNC远程控制Linux(Centos)?
  14. 网络编程学习_TCP协议
  15. 微信小程序解析后台返回的html格式
  16. 服务自省,Dubbo面向了应用级
  17. ssti练习之[CSCCTF 2019 Qual]FlaskLight 1
  18. 五合一收款码在线生成多模板免安装网站源码
  19. 2021年软件测试高薪就业秘诀:高薪工作地点+必修技能+涨薪技能
  20. 【算法练习】MVP争夺战

热门文章

  1. Android中使用webview加载网页上的按钮点击失效
  2. 《疯狂动物城》 —浪潮分布式存储让动画渲染更高效
  3. 應用高解析度線掃描CCD於ITO導電玻璃表面瑕疵檢測之研究
  4. DREAMWERVER CS5序列号反复验证 解决方法
  5. 程序员在帖子发的问题,底下评论彻底演变成娱乐帖了……
  6. wget: command not found的两种解决方案
  7. windows pagefile.sys配置调整
  8. 理科女生计算机与会计学选择,我是一理科女生、在报考学校时候、选择会计还是会计电算化比较好呢?还有会计与审计、会计于统计核算....
  9. echars、象棋、飞机大战、五子棋
  10. Akka Actors入门案例解析