小球与盒子

(1 min to read)

n个球放进k个盒子,根据球是否相同、盒子是否相同、盒子是否可以为空,可以总结出8个模型。前置芝士:组合数、斯特林数、快速幂、贝尔数、整数拆分等

球不同,盒子相同(不同),不能空盒

盒子相同时为第二类斯特林数,不同时再乘以$k!$即可可以nk递推,可以容斥

球不同,盒子不同,可以空盒

每个球有k种方法 $k^n$

球不同,盒子相同,可以空盒

枚举空盒的数量,答案为第二类斯特林数一行求和也相当与是贝尔数

球相同,盒子不同,不能空盒

$x_1+x_2+\dots+x_n = k$的正整数解个数C(n-1, k-1)

球相同,盒子不同,可以空盒

$x_1+x_2+\dots+x_n = k$的非负整数解个数C(n+k-1, k-1)

球相同,盒子相同,不能空盒

整数n拆分成k份=用最大数为k拆分nD(n-k, k) 将n-k用$\le k$的数拆分

球相同,盒子相同,可以空盒

D(n, k) = D(n, k-1) + D(n-k, k)