第一二类斯特林数及斯特林反演
第一类斯特林数
符号为\(\begin{bmatrix} n\\ m \end{bmatrix}\),定义是把\(n\)个数排成\(m\)个圆排列的方案数,递推式为(把第一类斯特林数简记为\(S_1(n,m)\)):
其中边界为
1.\(S_1(0,0)=1\)
2.\(S_1(n,k)=0(k>n)\)
这个递推式可以如此理解:考虑最后一个放入的物品,它要么跟在前面的一个元素在一个圆中,要么自己新开一个圆
这个东西直接求是\(O(n^2)\)的,怎么优化呢?考虑上述过程,也可以理解为总共进行\(n\)次操作,每次有\(n-1\)种选择不取(对应\((n-1)*S_1(n-1,m)\)),还有\(1\)种选择取(对应\(S_1(n-1,m-1)\)),最后恰好取到\(m\)个物品的方案数。写出它的母函数如下:
其中\(x_i\)的系数就是\(S_1(n,i)\)
用分治+FFT可以\(O(nlog^2n)\)求\(S_1(n,i)\)
另附两道双倍经验的神仙题:
CF960G Bandit Blues
[FJOI2016]建筑师
第二类斯特林数
符号为\(\begin{Bmatrix} n\\ m \end{Bmatrix}\),定义是把\(n\)个不同的球放到\(m\)个不可区分的盒子且无空盒的方案数,递推式为(把第二类斯特林数简记为\(S_2(n,m)\)):
边界跟上面一样的
直接求也是\(O(n^2)\)的,发现它有一个比较显然的容斥形式:
理解的话,就是先考虑盒子有区别,就有:\(\sum\limits_{i=0}^{m}(-1)^{i}\binom{m}{i}(m-i)^n\)种方案,把\(m\)个盒子无区别的限制加上,除一个\(m!\)就可以了(貌似也可以用二项式反演来证明它的容斥意义?)
化一下式子,把组合数拆开,并且把\(m!\)移到和号里面,可以得到:
卷积吧,\(O(nlogn)\)的
第二类斯特林数还有一个很妙的性质:\(n^k=\sum\limits_{i=0}^{n}\begin{Bmatrix}
k\\
i
\end{Bmatrix}i!\binom{n}{i}\)
附例题3道:
[HEOI2016/TJOI2016]求和
CF961G Partitions
CF932E Team Work
斯特林反演
存在以下这么一个式子:
怎么感觉跟二项式反演辣么像!
太弱了,不会证啦,也没做相关的题。