首先,
.
所以考虑数论分块,试图在允许的时间内求的前缀和,即求
,为了让后面的式子更简洁,这里从0开始求和。
因为是一个
次多项式,所以
的前缀和是一个
次多项式,我们可以使用拉格朗日插值,先求
个位置的前缀和,然后插出任意位置的前缀和。
考虑拉格朗日插值公式
其中是所求函数图象上的
个点。我们需要
个点,不妨取
时的前缀和,记为
,要插的函数
被求和的每一项系数的分子和分母都是一些连续整数的乘积,可以用两个数的阶乘相除快速求得,而阶乘和阶乘的逆元可以预处理。