第二类斯特林数学习笔记
第二类斯特林数
定义:第二类斯特林数\(𝑆(𝑛,𝑚)\)表示的是把\(n\)个不同的小球放在\(m\)个相同的盒子里方案数。
求法
递推式:\(S(n,m)=S(n-1,m-1)+S(n-1,m)*m\)
容斥原理:
\(S(n,m)=\frac{1}{m!}\sum_{k=0}^{m}(-1)^k(^m_k)(m-k)^n\)
根据定义,我们可以枚举空了多少个盒子,然后容斥.因为每一种方案被算了\(m!\)次(放了的小球使盒子不同)
所以要除去.
注意:这个式子是卷积的形式,所以可以\(O(nlogn)\)时间内求出\(S(n,i)\)
常用的转换
\(n^k=\sum_{i=0}^{n}S(k,i)*(^n_i)*i!\)
左边其实就是把\(k\)个数放进\(n\)个盒子的方案数(可以空盒子,并且盒子不同)
右边枚举用的盒子数,然后就算一下就行了
斯特林反演
一个式子:\(f(n)=\sum_{i=0}^n\{^n_i\}g(i)\Leftrightarrow g(n)=\sum_{i=0}^n(-1)^{n-i}[^n_i]f(i)\)
关于更加高深的东西以后再补..
参考:link