http://blog.sina.com.cn/s/blog_4a1f59bf0100pjpz.html
将球(n个)放到桶(m个)里, 有几种放法的问题.
有以下类型:
|
球相同, 桶不相同, 不允许出现空桶
模型如下: 将球从左至右排成一排, 将 m-1 个隔断插入 n-1 个空隙中, 将球分成 m 个部分, 从左至右依次放入 m 个桶中.
1. 题目要求的每种放法都对应上述模型唯一一个结果: 显然.
2. 上述模型的每个结果都对应题目中的唯一一种放法: 显然.
C(n-1, m-1)
讨论: 这实际上是方程 n = x1+x2+x3+...+xm 整数解的个数, 其中 x_i > 0.
球相同, 桶不相同, 允许出现空桶
这实际上是方程 n = x1+x2+x3+...+xm 整数解的个数, 其中 x_i >= 0.
方法是考虑方程
n+m = x1' + x2' + x3' + ... + xm', 其中 x_i' > 0 整数解的个数, 然后从每个 x_i' 中减去1.
结论: C(n + m - 1, m - 1)
球不同, 桶不相同, 允许空桶
考虑满足以下条件的序列:
长度为 n, 每个元素的值在 1~m(含) 之间.
对于每个序列, 都能够构造一种球-桶的分类.
数量: m^n
球不同, 桶不相同, 不允许空桶
首先计算允许空桶的情况, 之后排除有1空桶的情况, 再加上有两空桶的情况, ...
m^n - C(m, 1)(m-1)^n - C(m, 2)(m-2)^n - ... ... C(m, m-1)*1^m
(类似问题:把m种不同的物品放到n个位子上(n>=m),每种物品至少出现一次,有几种放法。一个位子上必须放一个物品,每种物品的数量无限。
相当于把n个不同的球放到m个不同的桶内,桶不允许为空)
我想到的是A(n,m)*m^(n-m),先在每一个桶里放一个球,然后剩下的球再随机放到桶里
这是有错误的,有重复计算
球相同, 桶相同, 允许空桶
整数拆分问题.
B(n,1)+ B(n,2) + ... +B(n,m)
球相同, 桶相同, 不允许空桶
整数拆分问题.B(n,m)