写在前面
由于最近的作业是计数题,发现有些题涉及 Stirling 数,于是有了这个小记。便于笔者书写,分别记第一类和第二类斯特灵数为 \(S1(i,j),S2(i,j)\)。
基础
递推式
\(S1(i,j)=S1(i-1,j-1)+S1(i-1,j)\times (i-1)\)
\(S2(i,j)=S2(i-1,j-1)+S2(i-1,j) \times j\)
组合意义/定义
\(S1(n,m)\):表示 \(n\) 个不同元素分成 \(m\) 个圆排列的方案数。
\(S2(n,m)\):表示 \(n\) 个不同元素划分成 \(m\) 个集合的方案数。
应用
上升幂,下降幂,普通幂
记 \(x^{\overline n} = \prod \limits_{k=0}^{n-1} (x+k)\),\(x^{\underline n}=\prod \limits_{k=0}^{k-1} (x-k)\)。
那么有:
\[\begin{align}x^{\overline n} &=\sum\limits_{k} S1(n,k) x^k\\x^n &=\sum\limits_k S2(n,k) (-1)^{n-k} x^k\\x^{\underline n} &= \sum\limits_{k} S1(n,k) (-1)^{n-k} x^k\\x^n &= \sum\limits_{k} S2(n,k) x^{\underline k}\end{align}
\]
不仅如此,因为上升幂和下降幂优美的格式我们也可以考虑与组合数之间联系:
\[\begin{align}x^{\overline n}&=\frac {(x+n-1)!} {x-1!}= n! \dbinom {x+n-1} {n}\\x^{\underline n}&=\frac {x!} {(x-n+1)!} = n! \dbinom {x} {n} \\\end{align}
\]
Problem
问 \(\sum\limits_{k=0}^{n}f(k)\dbinom nkx^k(1-x)^{n-k}\),其中 \(f(k)\) 为给定多项式。对 \(998244353\) 取模。
总结:看到多项式与组合数结合的题,可以考虑将 普通多项式转为下降幂多项式,因为下降幂和组合数都可以用阶乘相除的形式表示。此外,\(\dbinom n m \dbinom m k=\dbinom n k \dbinom {n-k} {m-k}\)。
考虑设 \(f(x) = \sum\limits_{i=0}^m b_i x^{\underline i}\)。
\[\begin{align}ans&=\sum\limits_{k=0}^n f(k)\dbinom nkx^k(1-x)^{n-k}\\&=\sum\limits_{i=0}^m b_i \sum\limits_{k=i}^n k^{\underline i} \dbinom n k x^k (1-x) ^{n-k}\\&=\sum\limits_{i=0}^m b_i i! \sum\limits_{k=i}^n\dbinom k i \dbinom n k x^k (1-x)^{n-k}\\&=\sum\limits_{i=0}^m b_i i! \dbinom n i \sum\limits_{k=i}^n \dbinom {n-i} {k-i} x^k (1-x)^{n-k}\\&=\sum\limits_{i=0}^m b_i i! \dbinom n i \sum\limits_{k=0}^{n-i} \dbinom {n-i} k x^{(k+i)} (1-x)^{n-k-i}\\&=\sum\limits_{i=0}^m b_i i! x^i\dbinom n i \\\end{align}
\]
所以我们求出 \(f(x)=\sum\limits_{i=0}^m b_ix^{\underline i}\) 即可在 \(O(m)\) 的时间得到答案。于是就变成了这题 P5394。
求 \((\sum\limits_{k=0}^{n}f(k)\times x^k\times \binom{n}{k})\)。
沿用上面的套路。考虑下降幂多项式 \(f(x)=\sum\limits_{i=0}^m a_i x^{\underline i}\)。
\[\begin{align}ans &=\sum\limits_{k=0}^{n}f(k) x^k \binom{n}{k}\\&=\sum\limits_{i=0}^m a_i \sum\limits_{k=i}^n k^{\underline i} x^k \dbinom n k\\&=\sum\limits_{i=0}^m a_i i! \sum\limits_{k=i}^n \dbinom k i \dbinom n k x^k\\&=\sum\limits_{i=0}^m a_i i! \dbinom n i \sum\limits_{k=i}^n \dbinom {n-i} {k-i} x^k\\&=\sum\limits_{i=0}^m a_i i! \dbinom n i \sum\limits_{k=0}^{n-i} \dbinom {n-i} k x^{k+i} 1^{n-i-k}\\&=\sum\limits_{i=0}^m a_i i! \dbinom n i x^i (x+1)^{n-i}\\&=\sum\limits_{i=0}^m a_i n^{\underline i} x^i (x+1)^{n-i}\end{align}
\]
然后利用 Stirling 数将普通幂多项式转成下降幂多项式,这是 \(m^2\)。所以我们在 \(m^2\) 的时间解决了这个问题。