题解 省选联考2020 组合数问题
我们要求的是
\[\sum_{k=0}^n f(k) \times x^k \times \binom{n}{k}
\]
把普通多项式 \(f(k)=\sum_{i=0}^m a_ik^i\)转换成下降幂多项式\(g(k)=\sum_{i=0}^m b_ik^{\underline{i}}\)
那么原式就是 :
\[\sum_{k=0}^n \sum_{i=0}^m b_ik^{\underline{i}} \times x^k \times \binom{n}{k}
\]
有一个性质是 :
\[\binom{n}{k} \times k^{\underline{i}} = \binom{n-i}{k-i} \times n^{\underline{i}}
\]
于是原式变成 :
\[\sum_{k=0}^n \sum_{i=0}^m b_i \times x^k \times \binom{n-i}{k-i} \times n^{\underline{i}}
\]
把\(b_i\)提到前面 :
\[\sum_{i=0}^m b_i \sum_{k=0}^n x^k \times \binom{n-i}{k-i} \times n^{\underline{i}}
\]
\(i>k\)时后面的为0,所以枚举\(k\)可以转化为枚举\(k-i\),就相当于:
\[\sum_{i=0}^m b_i \sum_{k=0}^{n-i} x^{k+i} \times \binom{n-i}{k} \times n^{\underline{i}}
\]
整理系数得 :
\[\sum_{i=0}^m b_ix^in^{\underline{i}} \sum_{k=0}^{n-i} x^k \times \binom{n-i}{k}
\]
发现后面添上1是二项式定理的展开(同subtask 4~8 \(m=0\)),式子变成 :
\[\sum_{i=0}^m b_ix^in^{\underline{i}} (x+1)^{n-i}
\]
现在问题在于求\(b_i\),就是普通多项式转下降幂多项式。
因为\(x^k = \sum_{i=0}^k x^{\underline{i}} \times S2(k,i)\),\(S2\)表示第二类斯特林数。
所以 :
\[\sum_{i=0}^m a_ik^i = \sum_{i=0}^m a_i \sum_{j=0}^i k^{\underline{j}} \times S2(i,j)
\]
相当于 :
\[\sum_{i=0}^m k^{\underline{i}} \sum_{j=i}^m a_j \times S2(j,i)
\]
那么 :
\[b_i=\sum_{j=i}^m a_j \times S2(j,i)
\]
可以\(O(m^2)\)预处理\(b_i\),然后代回原式\(O(m)\)计算。