• 小球与盒子 的奇妙关系


    小球盒子学得好,计数分数少不了。

    下面假设现在有 (n) 个球 (m) 个盒子。

    1.球不同,盒不同。

    考虑一个球有 (m) 种选择方案,球之间的选择互不影响,所以答案就是 (m^n).

    2.球不同,盒不同,每个盒至多一个球。

    如果 (n>m) ,那么显然答案为 (0).

    否则考虑第一个球有 (m) 种放法,第二个有 (m-1) 种...所以答案就是 (displaystyle prod_{i=m-n}^{m}i)

    3.球不同,盒不同,每个盒子至少一个球。

    如果 (n<m) ,那么显然答案为 (0).

    因为第二类斯特林数求的是 盒子相同的情况,并且没有空盒,只要乘上 (m!) 就可以了认为盒子是不同的啦。

    所以答案就是 (S_{n}^m imes m!) ,其中 (S) 是第二类斯特林数。

    4.球不同,盒相同。

    因为第二类斯特林数要求没有空盒,这里并不做要求,所以我们可以讨论一下用了几个盒子,答案就是 (displaystyle sum_{i=1}^{min(n,m)} S_n^i)

    5.球不同,盒相同,每个盒子至多一个球。

    (n>m) 的时候 ,方案数为0.

    则方案数为 (1).

    6.球不同,盒相同,每个盒子至少一个球。

    如果 (n<m) ,那么显然答案为 (0).

    否则答案就是第二类斯特林数 (S_n^m)

    7.球相同,盒不同。

    隔板法,注意可以有空盒子 (C_{n+m-1}^{m-1})

    8.球相同,盒不同,每个盒子至多一个球。

    盒子之间的区别是有球和没球,考虑哪些盒子里有球 (C_m^n)

    9.球相同,盒不同,每个盒子至少一个球。

    隔板法,注意不能有空盒子 (C_{n-1}^{m-1})

    10.球相同,盒相同。

    可以 (DP) ,设 (f[n][m]) 为有 (n) 个球 (m) 个盒子时的情况。

    转移的话考虑当前有没有空的盒子。

    要是有的话,拿掉一个空盒子也没有影响 (f[n][m-1])

    否则每个盒子里都拿出来一个球也没影响 (f[n-m][m])

    所以 (f[n][m]=f[n][m-1]+f[n-m][m])

    11.球相同,盒相同,每个盒子至多一个球。

    (n>m) 的时候 ,方案数为0.

    则方案数为 (1).

    12.球相同,盒相同,每个盒子至少一个球。

    我们先在每个盒子里放上一个球,就变成了情况10,所以答案就是 (f[n-m][m])

  • 相关阅读:
    Graphics竖排打印字体
    VC GetDlgItem
    C# FontStyle
    VC弹出"选择文件"和"选择文件夹"对话框(转)
    VC获取应用程序路径
    SqlServer延时函数
    volatile修饰变量
    外部命令和内部命令
    curl命令简单使用
    close_socket断开连接的方式
  • 原文地址:https://www.cnblogs.com/wljss/p/13139414.html
Copyright © 2020-2023  润新知