loading

拉格朗日插值

传统插值

给定 \(n\) 对 \((x_i,y_i)\),求插出来的多项式 \(F\)。

结论:\(F(x)=\sum_{i=1}^{n} y_i\prod_{j\neq i}\dfrac{x-x_i}{x_j-x_i}\)。

暴力复杂度 \(O(n^2)\)。

线性插值

当 \(x_i\) 连续时,不难发现 对于 \(j>i,x_j-x_i\) 也连续,其实就是阶乘,\(O(n)\) 预处理即可,\(j<i\) 时 \(x_i-x_j\) 也是阶乘,但是要仔细推敲一下正负性。总复杂度 \(O(n)\)。

重心插值

待补。

求多项式系数

待补。

自然数幂和

题意:求 \(\sum_{i=1}^ni^k\bmod 10^9+7\)。

结论: 设 \(S_k(n)=\sum_{i=1}^ni^k\),求证:\(S_k(n)\) 是关于 \(n\) 的 \(k+1\) 次多项式。

引理: 若多项式 \(f(x)\) 的差分为 \(k\) 次多项式,则 \(f(x)\) 为 \(k+1\) 次多项式。
证明: 设 \(f(x)=\sum_{0\le i\le k}a_ix_i\),则差分 \(g(x)=f(x)-f(x-1)=\sum_{0\le i\le k} a_i(x^i-(x-1)^i)\),只看 \(x^i-(x-1)^i\) 这一部分,它等于 \(x^i-\sum_{0\le j\le i}\binom{i}{j}x^j\),\(x^i\) 和后面 \(j=i\) 的 \(\binom{i}{i}x^i\) 抵消,剩下的就是 \(i-1\) 次了,总的来看就是总次数降次了。

证明:根据引理,差分后的结果为 \(n^k\),显然是 \(k\) 次多项式,所以结论得证。

取 \(n=0\sim k+1\) 插值即可,复杂度线性。

P4463 [集训队互测 2012] calc

设 \(f_{i,j}\) 表示长度为 \(i\) 值域为 \(j\) 的无序序列的权值之和,由于互不相同,无序变有序只需要乘一个阶乘即可。转移:\(f_{i,j}=f_{i-1,j}+f_{i-1,j-1}\times j\)。

观察到 \(n\) 小 \(k\) 大,猜测一下 \(f_n(k)\) 是不是一个关于 \(k\) 的低次多项式。归纳一下,设 \(g_n\) 为 \(f_n(k)\) 的次数,移项可得 \(f_{i,j}-f{i,j-1}=f_{i-1,j-1}\times j\),可以发现左侧是天然的差分式,则左侧的次数为 \(g_i-1\);而右侧由于乘了一个 \(j\) 次数变大所以右侧次数为 \(g_{i-1}+1\),故 \(g_i-1=g_{i-1}+1\),由于 \(g_0=0\)(显然),所以 \(g_i=2i\)。插值即可,复杂度 \(O(n^2)\)。

posted @ 2025-10-17 12:30  dcytrl  阅读(25)  评论(2)    收藏  举报