第一二类斯特林数及斯特林反演

第一类斯特林数

符号为\(\begin{bmatrix} n\\ m \end{bmatrix}\),定义是把\(n\)个数排成\(m\)个圆排列的方案数,递推式为(把第一类斯特林数简记为\(S_1(n,m)\)):

\[S_1(n,m)=S_1(n-1,m-1)+(n-1)S_1(n-1,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\)个物品的方案数。写出它的母函数如下:

\[\sum\limits_{i=0}^{n-1}(x+i) \]

其中\(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)\)):

\[S_2(n,m)=S_2(n-1,m-1)+mS_2(n-1,m) \]

边界跟上面一样的
直接求也是\(O(n^2)\)的,发现它有一个比较显然的容斥形式:

\[S_2(n,m)=\frac{1}{m!}\sum\limits_{i=0}^{m}(-1)^{i}\binom{m}{i}(m-i)^n \]

理解的话,就是先考虑盒子有区别,就有:\(\sum\limits_{i=0}^{m}(-1)^{i}\binom{m}{i}(m-i)^n\)种方案,把\(m\)个盒子无区别的限制加上,除一个\(m!\)就可以了(貌似也可以用二项式反演来证明它的容斥意义?)
化一下式子,把组合数拆开,并且把\(m!\)移到和号里面,可以得到:

\[S_2(n,m)=\sum\limits_{i=0}^{m}\frac{(-1)^{i}}{i!}\frac{(m-i)^n}{(m-i)!} \]

卷积\(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

斯特林反演

存在以下这么一个式子:

\[f(n)=\sum\limits_{i=0}^{n}\begin{Bmatrix} n\\ i \end{Bmatrix}g(i)\Leftrightarrow g(n)=\sum\limits_{i=0}^{n}(-1)^{n-i}\begin{bmatrix} n\\ i \end{bmatrix}f(i)\]

怎么感觉跟二项式反演辣么像!
太弱了,不会证啦,也没做相关的题。

posted @ 2019-03-01 20:50  dummyummy  阅读(357)  评论(0编辑  收藏  举报