完全不会的斯特林数总结

第一类斯特林数还不怎么会呢,于是就先写第二类了

第二类斯特林数

第二类斯特林数\(\begin{Bmatrix}n\\m\end{Bmatrix}\)表示把\(n\)个元素分配到\(m\)个无标号集合的方案数

递推形式是

\[\begin{Bmatrix}n\\m\end{Bmatrix}=\begin{Bmatrix}n-1\\m-1\end{Bmatrix}+m\begin{Bmatrix}n-1\\m\end{Bmatrix}\]

就是对于这个新加进来的元素要不然新开一个集合,要不然放到之前的\(m\)个集合中的一个

之后这个东西看起来非常容斥啊,于是就有一个喜闻乐见的容斥形式

\[\begin{Bmatrix}n\\m\end{Bmatrix}=\frac{1}{m!}\sum_{k=0}^m(-1)^k\binom{m}{k}(m-k)^n=\sum_{k=0}^k\frac{(-1)^k}{k!}\times \frac{(m-k)^n}{(m-k)!}\]

显然是一个卷积形式,于是我们可以在\(O(nlgn)\)时间内卷出一行的第二类斯特林数

第二类斯特林数比较厉害的一个地方就是和\(x^k\)是有关系的

\[n^k=\sum_{i=1}^k\begin{Bmatrix}k\\i\end{Bmatrix}\binom{n}{i}i!\]

\(n^k\)的组合意义显然就是把\(k\)个球放到\(n\)个盒子里的方案数,于是我们从\(n\)个盒子里选出\(i\)个,把\(k\)个球放进去

显然\(\binom{n}{i}i!\)就是排列数,于是第二类斯特林数还跟下降幂有关系

\[n^k=\sum_{i=1}^k\begin{Bmatrix}k\\i\end{Bmatrix}n^{\underline i}\]

我们利用上面的这个东西还能用来求自然数的幂次方和

\[ \begin{aligned} &\sum_{i=1}^ni^k\\ =&\sum_{i=1}^n\sum_{j=1}^k\begin{Bmatrix}k\\j\end{Bmatrix}\binom{i}{j}j!\\ =&\sum_{j=1}^k\begin{Bmatrix}k\\j\end{Bmatrix}j!\sum_{i=1}^n\binom{i}{j}\\ =&\sum_{j=1}^k\begin{Bmatrix}k\\j\end{Bmatrix}j!\binom{n+1}{j+1}\\ =&\sum_{j=1}^k\begin{Bmatrix}k\\j\end{Bmatrix}\frac{(n+1)!j!}{(j+1)!(n-j)!}\\ =&\sum_{j=1}^k\begin{Bmatrix}k\\j\end{Bmatrix}\frac{(n+1)^{\underline{j+1}}}{j+1} \end{aligned} \]

其中有一步是\(\sum_{i=1}^n\binom{i}{j}=\binom{n+1}{j+1}\)可以理解为从\(n+1\)里选择\(j+1\)个,我们枚举第一个选择的位置

这个东西处理斯特林数之后利用逆元可以做到\(O(k)\),但是我们每次暴力算\(\frac{(n+1)^{\underline{j+1}}}{j+1}\)可以不用逆元做到\(O(k^2)\)

猜你喜欢

转载自www.cnblogs.com/asuldb/p/10917496.html
今日推荐