关于斯特林数

· · 算法·理论

Copyright (c) 2025 bluewindde
采用 CC BY-NC-SA 4.0 International 协议 发布。

前情提要:https://www.luogu.com.cn/article/wofybi22

摘要:本文通过代数方法给出第二类斯特林数的定义。

modfish 好闪,拜谢 modfish

规定 0^0 = 1

考虑函数

\def\dd{\mathrm d} \def\dx{\mathrm dx} \def\d#1{\mathrm d#1} \begin{align*} f_k(n) = &\sum\limits_{i = 0}^n \binom n i i^k p^i \\ = &\left( p \frac \dd {\d p} \right)^k \sum\limits_{i = 0}^n \binom n i p^i \\ = &\left( p \frac \dd {\d p} \right) f_{k-1}(n) \\ \end{align*}

特别地

f_0(n) = \sum\limits_{i = 0}^n \binom n i p^i = (1 + p)^n

因此

\def\dd{\mathrm d} \def\dx{\mathrm dx} \def\d#1{\mathrm d#1} \begin{align*} f_1(n) &= \left( p \frac \dd {\d p} \right) (1 + p)^n = np(1+p)^{n-1} \\ f_2(n) &= np(1+p)^{n-1} + n(n-1)p^2(1+p)^{n-2} \\ f_3(n) &= np(1+p)^{n-1} + 3n(n-1)p^2(1+p)^{n-2} + n(n-1)(n-2)p^3(1+p)^{n-3} \\ f_4(n) &= np(1+p)^{n-1} + 7n(n-1)p^2(1+p)^{n-2} + 6n(n-1)(n-2)p^3(1+p)^{n-3} + n(n-1)(n-2)(n-3)p^4(1+p)^{n-4} \\ &\cdots \\ \end{align*}

关注每次求导带来的系数变化,设第 tp^t(1+p)^{n-t} 的系数为 g_k(t),有递推

g_k(t) = t \cdot g_{k-1}(t) + g_{k-1}(t-1)

特别地

g_k(1) = g_{k-1}(1) = 1 g_k(k) = g_{k-1}(k - 1) = 1 $${k \brace t} = g_k(t), 1 \leqslant t \leqslant k$$ 该定义通常采用的组合意义定义等价。 第二类斯特林数组合意义:$n$ 个两两不同的物体,划分为 $k$ 个互不区分非空子集的方案数。 因此 $$f_k(n) = \sum\limits_{i = 1}^k {k \brace i} \frac {n!} {(n-i)!} p^i(1+p)^{n-i}$$ --- 多么波澜壮阔的冒险! 英雄之旅抵达终点,「再创世」的真相也呼之欲出—— 可是,当真如此吗? --- 当 $k = n$ 时,$(1+p)^{n-k} = (1+p)^0 = 1$,但在上面的递推中它的导数被认为是 $(1+p)^{-1}$。 临界情况 $$ \begin{align*} f_n(n) &= \sum\limits_{i = 1}^{n-1} {n \brace i} \frac {n!} {(n-i)!} p^i(1+p)^{n-i} + {n \brace n} \frac {n!} {(n-n)!} p^n(1+p)^{n-n} \\ &= \sum\limits_{i = 1}^{n-1} {n \brace i} \frac {n!} {(n-i)!} p^i(1+p)^{n-i} + n! p^n \\ \end{align*} $$ 然后 $$ \begin{align*} f_{n+1}(n) &= \sum\limits_{i = 1}^{n-1} {n+1 \brace i} \frac {n!} {(n-i)!} p^i(1+p)^{n-i} + {n \brace n-1} n! p^n + n! n p^n \\ f_{n+2}(n) &= \sum\limits_{i = 1}^{n-1} {n+2 \brace i} \frac {n!} {(n-i)!} p^i(1+p)^{n-i} + {n+1 \brace n-1} n! p^n + {n \brace n-1} n! n p^n + n! n^2 p^n \\ &\cdots \\ \end{align*} $$ 当 $k > n$ 时 $$f_k(n) = \sum\limits_{i = 1}^{n-1} {k \brace i} \frac {n!} {(n-i)!} p^i (1+p)^{n-i} + \sum\limits_{i = n}^k {i-1 \brace n-1} n!n^{k-i}p^n$$ 根据 ${k \brace n} = n {k-1 \brace n} + {k-1 \brace n-1}$,有 $$ \begin{align*} {k \brace n} &= n {k-1 \brace n} + {k-1 \brace n-1} \\ &= n \left( n {k-2 \brace n} + {k-2 \brace n-1} \right) + {k-1 \brace n-1} \\ &= n \left( n \left( n {k-3 \brace n} + {k-3 \brace n-1} \right) + {k-2 \brace n-1} \right) + {k-1 \brace n-1} \\ &= \cdots \\ &= \sum\limits_{i = n}^k {i-1 \brace n-1} n^{k-i} \\ \end{align*} $$ 因此 $$ \begin{align*} f_k(n) &= \sum\limits_{i = 1}^{n-1} {k \brace i} \frac {n!} {(n-i)!} p^i (1+p)^{n-i} + \sum\limits_{i = n}^k {i-1 \brace n-1} n!n^{k-i}p^n \\ &= \sum\limits_{i = 1}^{n-1} {k \brace i} \frac {n!} {(n-i)!} p^i (1+p)^{n-i} + {k \brace n} n!p^n \\ &= \sum\limits_{i = 1}^n {k \brace i} \frac {n!} {(n-i)!} p^i (1+p)^{n-i} \\ \end{align*} $$ 综上所述,$n \in \mathbf N, k \in \mathbf N*$ 时 $$f_k(n) = \sum\limits_{i = 0}^n \binom n i i^k p^i = \sum\limits_{i = 1}^{\min(n, k)} {k \brace i} \frac {n!} {(n-i)!} p^i (1+p)^{n-i}$$ 注意为了使第二类斯特林数有定义,最终式子不包含 $k = 0$ 的情况。 --- 当 $p = -1$ 时 $$ f_k(n) = \sum\limits_{i = 0}^n \binom n i i^k (-1)^i = \begin{cases} 0, &k < n, \\ (-1)^n {k \brace n} n!, &k \geqslant n. \\ \end{cases} $$ [modfish_](https://www.luogu.com.cn/user/605226) 给上面的式子赋予了组合意义:长为 $k$,值域为 $[1, n]$ 的整数数列,值域中的每个数都在数列中出现至少一次的方案数。$f_k(n)$ 就是在容斥计算该问题的答案。 令 $k = N, n = M$,导出第二类斯特林数通项公式 $$ \begin{align*} {n \brace m} &= (-1)^m \frac 1 {m!} \sum\limits_{i = 0}^m \binom m i i^n (-1)^i \\ &= (-1)^m \frac 1 {m!} \sum\limits_{i = 0}^m \frac {m!} {i! (m-i)!} i^n (-1)^i \\ &= (-1)^m \sum\limits_{i = 0}^m \frac {(-1)^i i^n} {i! (m-i)!} \\ \end{align*} $$ --- 当 $p = 1$ 时 $$f_k(n) = \sum\limits_{i = 0}^n \binom n i i^k = \sum\limits_{i = 1}^{\min(n, k)} {k \brace i} \frac {n!} {(n-i)!} 2^{n-i}$$ 导出组合恒等式 $$ \begin{align*} f_1(n) &= \sum\limits_{i = 0}^n \binom n i i = n2^{n-1} \\ f_2(n) &= \sum\limits_{i = 0}^n \binom n i i^2 \\ &= n 2^{n-1} + n(n-1) 2^{n-2} = n(n+1)2^{n-2} \qquad (n \geqslant 2) \\ f_3(n) &= \sum\limits_{i = 0}^n \binom n i i^3 \\ &= n2^{n-1} + 3n(n-1)2^{n-2} + n(n-1)(n-2)2^{n-3} \\ &= (n+3)n^22^{n-3} \qquad (n \geqslant 3) \\ \end{align*} $$