【问题标题】:How to distribute n identical balls into k identical boxes having different capacities如何将 n 个相同的球分配到具有不同容量的 k 个相同的盒子中
【发布时间】:2018-01-06 09:05:16
【问题描述】:

假设有 4 个容量分别为 10、5、2、1 的盒子。请帮助我找出将 16 个相同的球分配到这四个盒子中的方法的数量。每个盒子可以有0到球的容量。

【问题讨论】:

    标签: statistics permutation combinatorics


    【解决方案1】:

    我们可以将问题简化为 "找出将 2 个相同的球分配到 4 个盒子中的方法数,容量分别为 2、2、2 和 1。", 因为我们可以计算原始空间中的空格。

    1) 如果我们把一个球放在第 4 个盒子里,那么我们就有 3 个盒子可以放另一个 - 3 个组合。

    2) 现在我们根本不把球放在第 4 个盒子里,所以我们有 3 个盒子和 2 个位置。

    n^k=2^3=8

    我们总共有 8+1=9 种组合。

    【讨论】:

      【解决方案2】:

      设各部分为a_1,...,a_k 和n,一共n!组合,然后每个 a_i 部分都相等,所以我们将它除以所有 a_i!然后除以k!,所以最终的答案是:

      n!/(a_1!* a_2!* ... * a_k!* k!)。

      这可以使用费马定理在 O(k) 和 O(n) 预处理中计算出来。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-06-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多