球桶组合排列

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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值