第二类斯特林数的推导

定义

S2(n,m)为,将n个有标记小球放入m个无差别盒子(无空盒)中的方案数。
乘上m!就是有差别盒子。

计算

由定义得递推式
S2(i,j)=S2(i1,j1)+S2(i1,j)j
这个式子用于O(n^2)计算n,n以内的所有斯特林数

若要求某一个S2(n,m),可推导通项公式
首先无视无空盒条件,放法有 mn
然后枚举有k个空盒,可得出多算的有
Ckm(mk)n
这要套个容斥,因为 (mk)n 并不保证这m-k个盒子中全是有的。

换句话说,设不保证无空盒的放法全集是S, Ai 表示S中第i个盒子为空的放法子集.
减去 C1m(m1)n 即为 减去 Ai
显然我们多减去了 AiAj 这一类放法. 即有i,j同时为空的放法
因此要加回 AiAj ,但又多加了 AiAjAk ,以此类推,理解一下.


S2(n,m)=1m!mk=0Ckm(mk)n(1)k
那个1/m!是将m个盒子变为无差别. (乘上就是有差别咯)
O(mlogn) 计算某一个s2.

你可能感兴趣的:(新内容,组合排列)