Skip to content

球盒模型

1. 什么是球盒模型

有 n 个球、m 个盒子,将所有球无顺序地放入盒子中,求方案数。

其中,可能有球与球有无区别、盒与盒有无区别的情况,这些情况按列枚举;每个盒子对球的个数有一定限制,这些情况按行枚举。

2. 球盒模型汇总

假设有 n 个球、m 个盒子。

球同盒同球同盒异球异盒同球异盒异
可空高斯系数Cn+m1m1C_{n+m-1}^{m-1}i=1mS2(n,i)\sum_{i=1}^{m}S_2(n,i)mnm^n
非空高斯系数Cn1m1C_{n-1}^{m-1}S2(n,m)S_2(n,m)m!S2(n,m)m!S_2(n,m)
可空容量有上限 k高斯系数(1)容斥(2)??
有下限 k高斯系数Cn+mkn1m1C_{n+m-kn-1}^{m-1}?DP(3)

(1) 高斯系数,[xn](m+km)x=[xn]i=1m1xi+k1xi[x^n]\displaystyle\dbinom{m+k}{m}_x=[x^n]\prod_{i=1}^{m}\dfrac{1-x^{i+k}}{1-x^i}

(2) 容斥,枚举超出限制的盒子数,i=0m(1)i(mi)(ni(k+1)+m1m1)\displaystyle\sum_{i=0}^m(-1)^i\dbinom{m}{i}\dbinom{n-i(k+1)+m-1}{m-1}

(3) DP,dp[i][j]dp[i][j] 表示前 i 个盒子放了 j 个球的方案数,O(m2k2)O(m^2k^2)

最后,恳求路过的大佬来完善内容!

Powered by VitePress | Theme by Vdoing