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)