Problem
国王奇遇记加强版之再加强版
Description
Input
共一行,包括两个正整数和。
Output
Sample Input
1 | 5 3 |
Sample Output
1 | 36363 |
Hint
,
Source
标签:多项式插值
Solution
好题,看了中的题解才懂。以下题解全部部分摘自特殊多项式在整点上的线性插值方法和BZOJ-3157. 国王奇遇记。
1. 多项式整点插值
观察二项式系数,其为一个的次多项式。对于,由于其次数互不相同,故其线性无关。可以发现这个多项式是次多项式线性空间的一组基。
于是对于,其一定可以表示为这个多项式的线性组合,即
由于时,,于是当时,有
根据二项式定理,可知,应用其对进行二项式反演,得
将带入,得
化简一下二项式系数
于是
即
将后面的部分进一步化简,即化简形如的式子。
根据上指标反转,可将其化简
带入得
将后面的再次上指标反转得
即
故对于次多项式,当时,如果能得到的值,可以求出的值。
具体地,两个二项式系数的乘积为
对于分式部分,可以预处理阶乘及其逆元以计算,对于两个乘式,可以预处理的前缀积和后缀积以计算。总时间复杂度为。
2. 幂和
记,求出较小时的通项,瞎猜发现当时,一定有如下形式:
其中是一个次多项式。根据前面多项式整点线性插值,只需求出即可求得。
注意到在中被消去,于是可以得到的递推式:
于是可以将表示为的形式,然而还无法求出。
根据多项式插值时推导的公式,当时,有
将作为带入得
将移到右边得
将带入即可解出,复杂度。然后通过前面插值可求出,带入即可求得。总时间复杂度。
注意由于时不满足性质,需要单独计算;此外还需暴力计算的情况。
简单版之再简单版见BZOJ3157,简单版见BZOJ3516。
Code
1 |
|