移动端没做适配,所以看起来十分诡异是正常的

【学习笔记】斯特林数学习笔记

这篇博客为个人学习用。然而我又是一个斯特林数极菜的人,所以内容非常蠢。

第二类斯特林数

  1. 定义:\(\begin{Bmatrix}n\\m\end{Bmatrix}\)表示\(n\)个不同的球放进\(m\)个相同盒子的方案数。
  2. 递推:\(\begin{Bmatrix}n\\m\end{Bmatrix}=\begin{Bmatrix}n-1\\m-1\end{Bmatrix}+m\begin{Bmatrix}n-1\\m\end{Bmatrix}\)。易证。
  3. 一个产生第二类斯特林数的地方:对\(f(x)=x^n\)进行差分(\(\Delta f(x)=f(x+1)-f(x)\)\(x\)从0开始),我们记\(\Delta^i f(x)\)\(i\)阶差分,则\(\Delta^i f(0)=i!\begin{Bmatrix}n\\i\end{Bmatrix}\)。你可以通过画一画差分的方式随时推出这个式子。这个式子的证明可以看《组合数学》。事实上可以通过这一个事实结合差分相关知识推出很多东西。(反正我是这么记的)
  4. 一个自然而然的事实:\(k^n=\sum_{i=0}^{k}i!\begin{Bmatrix}n\\i\end{Bmatrix}\binom{k}{i}\)。可以通过证明组合数的差分的形状证明这个式子(即证明\(f(x)=\binom{n}{x}\)\(n\)阶差分\(\Delta^{n}f(x)=\binom{0}{x}=[x=0]\))。
  5. 进一步的事实:\(m!\begin{Bmatrix}n\\m\end{Bmatrix}=\sum_{i=0}^{m}(-1)^{m-i}i^n\binom{m}{i}\),可以通过上面的事实二项式反演得到。进一步化简,就是\(\begin{Bmatrix}n\\m\end{Bmatrix}=\sum_{i=0}^{m}\frac{(-1)^{m-i}}{(m-i)!}\frac{i^n}{i!}\)。这个式子是第二类斯特林数的通项,可以通过这个式子利用ntt求同一行的斯特林数。
    2022.12.2补充:上述第二类斯特林数的通项可以通过组合意义容斥原理得到:\(\begin{Bmatrix}n\\m\end{Bmatrix}=\sum_{i=0}^m(-1)^{m-i}\binom{m}{m-i}\frac{i^n}{m!}\)
  6. 另一个视角看待自然而然的事实:\(k^n=\sum_{i=0}^{k}\begin{Bmatrix}n\\i\end{Bmatrix}k^{\underline{i}}\)。这就给出了利用第二类斯特林数转换下降幂和普通幂的方法。而下降幂非常适合做有限微积分。
  7. 我们能得到\(k^n=\sum_{i=0}^{k}(-1)^{n-i}\begin{Bmatrix}n\\i\end{Bmatrix}k^{\overline{i}}\)。这一步不太可以感性理解,但是很好看。
  8. 既然我们可以通过5计算同一行的第二类斯特林数,那么我们当然想计算同一列的。可以通过构建\(F(x)=\sum_{i\geq 1}\frac{x^i}{i!}=e^x-1\)表示\(i\)个不同球放进\(1\)个不同盒子的方案的指数生成函数(即\([i\geq 1]\)的指数生成函数),我们有\(\begin{Bmatrix}n\\m\end{Bmatrix}=\left[\frac{x^n}{n!}\right]\frac{F^{m}}{m!}\)。利用多项式科技可以做到\(O(m\log m)\)

第一类斯特林数

没看。

posted @ 2021-03-05 17:51  czyarl  阅读(93)  评论(0编辑  收藏  举报