[TJOI2018]教科书般的亵渎
壹、题目描述 ¶
贰、亿点思考 ¶
一定会有 \(k=m+1\),不作解释。
设 \(f(x)=1^k+2^k+...+x^k\),令 \(a_0=0\),那么我们最后要计算的就是
\[\sum_{i=0}\left((f(n-a_i)-\sum_{j=i+1}^n(a_j-a_i)^k\right)
\]
对于 \(f(x)\),它的闭形式是一个 \(k+1\) 次多项式,使用 \(\tt lagrange\) 插值法可以直接暴插出来。
使用朴素插值法是 \(\mathcal O(Tm^4)\),使用重心 \(\tt lagrange\) 插值法可以做到 \(\mathcal O(Tm^3\log p)\),其中 \(p=10^9+7\).
叁、参考代码 ¶
\(\color{red}{\text{talk is lagrange, but I have no code.}}\)
肆、用到 の \(\tt trick\)
对于函数 \(f(x)=1^k+2^k+...+x^k\),其闭形式是一个 \(k+1\) 次多项式,可以考虑使用 \(\tt lagrange\) 插值法直接暴插。