【发布时间】:2018-01-06 09:05:16
【问题描述】:
假设有 4 个容量分别为 10、5、2、1 的盒子。请帮助我找出将 16 个相同的球分配到这四个盒子中的方法的数量。每个盒子可以有0到球的容量。
【问题讨论】:
标签: statistics permutation combinatorics
假设有 4 个容量分别为 10、5、2、1 的盒子。请帮助我找出将 16 个相同的球分配到这四个盒子中的方法的数量。每个盒子可以有0到球的容量。
【问题讨论】:
标签: statistics permutation combinatorics
我们可以将问题简化为 "找出将 2 个相同的球分配到 4 个盒子中的方法数,容量分别为 2、2、2 和 1。", 因为我们可以计算原始空间中的空格。
1) 如果我们把一个球放在第 4 个盒子里,那么我们就有 3 个盒子可以放另一个 - 3 个组合。
2) 现在我们根本不把球放在第 4 个盒子里,所以我们有 3 个盒子和 2 个位置。
n^k=2^3=8
我们总共有 8+1=9 种组合。
【讨论】:
设各部分为a_1,...,a_k 和n,一共n!组合,然后每个 a_i 部分都相等,所以我们将它除以所有 a_i!然后除以k!,所以最终的答案是:
n!/(a_1!* a_2!* ... * a_k!* k!)。
这可以使用费马定理在 O(k) 和 O(n) 预处理中计算出来。
【讨论】: