第二类斯特林数

第二类斯特林数 \(\begin{Bmatrix}n\\m\end{Bmatrix}\) 表示把 \(n\) 个不同的小球放进 \(m\) 个相同的盒子里,不能有空盒的方案数。

一些小性质:

  • \(\begin{Bmatrix}n\\0\end{Bmatrix}=[n=0]\)
  • \(n<m\)\(\begin{Bmatrix}n\\m\end{Bmatrix}=0\)

1. 递推式

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

对第 \(n\) 个球的放法讨论:

  1. 单独放一个盒子,方案为 \(\begin{Bmatrix}n-1\\m-1\end{Bmatrix}\)
  2. 与其他球放在一个盒子,所有盒子不同,有 \(m\) 种选法,每种选法方案为 \(\begin{Bmatrix}n-1\\m\end{Bmatrix}\)

2.通项公式

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

先将盒子当作有区别的考虑,然后将答案乘上 \(\displaystyle \frac{1}{m!}\) 消除影响。

因为第二类斯特林数要求盒不能为空,所以容斥这个条件。

至少有 \(i\) 个空盒的方案数为 \(\displaystyle \binom{m}{i}(m-i)^n\)

那么上面的式子就很显然了。

CF961G Partitions

P4091 [HEOI2016/TJOI2016]求和

3.自然数幂

\[m^n=\sum_{i=0}^n \begin{Bmatrix}n\\i\end{Bmatrix} m^{\underline i}=\sum_{i=0}^n \begin{Bmatrix}n\\i\end{Bmatrix} \binom{m}{i} i! \]

左式为将 \(n\) 个不同的小球放进 \(m\) 个不同的盒子里。

右式枚举非空盒子的数量 \(i\),选盒子的方案数为 \(\displaystyle \binom m i\) , 将 \(n\) 个不同的球放入 \(i\) 个相同盒子方案数为 \(\begin{Bmatrix}n\\i\end{Bmatrix}\),因为盒子不同所以有 \(i!\) 种排列。

dp

P4827 [国家集训队] Crash 的文明世界

CF1097G Vladislav and a Great Legend

推式子

CF932E Team Work

P6620 [省选联考 2020 A 卷] 组合数问题

CF1278F Cards & P6031 Cards加强版

4.求法

1.P5395 第二类斯特林数·行

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

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

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

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

可以看出是一个卷积形式,用多项式乘法可 \(\mathcal{O(n \log n)}\) 求出第二类斯特林数的任意一行。

2.P5396 第二类斯特林数·列

构造指数型生成函数

\[F_1(x)=\sum_{i}\begin{Bmatrix} i \\1\end{Bmatrix}\frac{x^i}{i!} = e^x-1 \]

\[F_k(x)=\frac{F_1^k(x)}{k!}=\frac{(e^x-1)^k}{k!} \]

多项式幂函数即可,复杂度 \(\mathcal O(n \log n)\)

posted @ 2021-04-02 17:27  chihik  阅读(303)  评论(0编辑  收藏  举报