题解 省选联考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}}\)

交换求和顺序 \(\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)\)预处理,然后带回原式\(O(m)\)计算。

猜你喜欢

转载自www.cnblogs.com/Kylin-xy/p/13202089.html