题目链接
做法
$ f_{i, j} $ 表示 递增 序列中前 i 个数,最后一个数为 $ \leq j $ 的权值和。 $ f_{i, j} = j \times f_{i - 1, j - 1} + f_{i, j - 1} $ 。
发现这样做复杂度 $ O(nA) $ ,过不去。
将 $ f_{i, j} $ 差分后得 $ g_{i, j} $ ,可以用关于 j 的多项式表示。考虑转移过程,即求前缀和在乘上 j,次数 +2 。
由此得证 $ f_{i, j} $ 可以被表示成 2n 次多项式。
拉格朗日插值即可,复杂度 $ O(n^2) $ 。
1 |
|