请看下面的问题描述:把M个同样的乒乓球放在N个同样的盒子里,允许有的盒子空着不放,问共有多少种不同的分法?(注意必须是不同的分法,例如M=7,N=3时,三个盒子分别放5个、1个、1个这种情况,和三个盒子分别放1个、1个、5个这种情况视同相同放法)这里采用动态规划求解该问题。引入二维数组c,其中c[i][j]表示将i个乒乓球放在j个盒子里的不同的方案个数,请给出状态转移方程及边界条件,并给出用动态规划法求解该问题的核心函数(即为二维数组c填充的函数),并分析该函数的时间复杂度。提示:如果乒乓球数大于等于盒子数,则有两种可能,一种是至少有一个盒子没有装乒乓球,一种是每个盒子都至少装了一个乒乓球,那么从所有的盒子中拿走一个乒乓球,不影响放法的数量。如果乒乓球数i小于盒子数j,必然至少有j-i个盒子没有乒乓球。边界条件考虑四种情况,1、没有盒子的时候,不存在放法;2、只有1个盒子时,所有的乒乓球只能放在这个盒子;3、没有乒乓球的时候,所有的盒子都是空的,4、只有一个乒乓球时,某个盒子放一个乒乓球,其他盒子没有乒乓球。[/i]
举一反三
- $n$个球放到$m$个盒子里,根据球和盒子是否有区别以及是否允许有空盒有$2^3=8$种放球问题:求如下问题的放球方案数(下方有选项,请填入对应选项的字母)1) $n$个球有区别,$m$个盒子有区别,允许有空盒<br/>______
- 若干个盒子排成一排。小华把50多个同样的乒乓球分别放在盒子中。其中只有l个盒子里没有乒乓球,然后他有事离开了。这时,小壮从每个有乒乓球的盒子里各取出l个乒乓球放在空盒子里,再把盒子重排一下,结果小华回来没发现有人动过这些盒子和里面的乒乓球。则共有()个盒子? A: 10 B: 11 C: 12 D: 13
- 将 3 个球随机地投入 4 个盒子中,求事件的概率:[tex=0.714x1.0]J/aA9EEo0KmJFnWWfX7LmQ==[/tex]——任意 1 个盒子中有 2 个球,其它任意 1 个盒子中有 1 个球.
- 设第一个盒子中装有 3 个蓝球,2 个绿球,2 个白球;第二个盒子中装有 2 个蓝球, 3 个绿球,4个白球,独立地分别在两个盒子中各取 1 个球。求至少有 1 个蓝球的概率。
- 设第一个盒子中装有 3 个蓝球,2 个绿球,2 个白球;第二个盒子中装有 2 个蓝球, 3 个绿球,4个白球,独立地分别在两个盒子中各取 1 个球。已知至少有 1 个蓝球,求有 1 个蓝球 1 个白球的概率。