拉格朗日插值

拉格朗日插值:给定 n+1 个点值 (xi,yi),对应唯一一个 n 次多项式,带入 f(k)=i=1n+1yijikxjxixj

基本思想就是,构建 n+1 个多项式使得 x=xi 时为 1,x=xj(ji) 时为 0。

当你取的点值连续的时候可以线性插值。这个时候分母就是 (1)n+1i(i1)!(n+1i)!。可以直接预处理。分子一般是直接维护前缀后缀积。

例题 1:CF622F

首先我们要知道几个基本的结论:

  • n 次多项式的前缀和是 n+1 次多项式。
  • n 次多项式的差分是 n1 次多项式。

证明可以看看 Imagine 的博客,一般情况可以推一推式子化成自然数幂和的形式。

回到这个题,我们知道答案是 k+1 次多项式,所以带入 k+2 个点值即可做到 O(k)。因为 Idk 是积性函数所以是可以预处理的。

例题 2:ABC208F

我们考虑每个幂对答案的贡献。当我们固定 m(把 m 当成常数)列出式子,发现是一个关于 nk+m 次多项式,于是带入 k+m+1 个值插值即可。

例题 3:CF995F

暴力 dp 容易列出。我们归纳证明 fu(d) 是一个 sizu1 次的多项式。

首先叶子节点是 0 次多项式。然后对于非叶子节点 u,它的子节点 v 对应 fv 做前缀和得到一个 sizv 次多项式,然后乘起来得到 vsizv=sizu1 次多项式。

例题 4:P4463

用类似的方法证明最后答案是一个 2n 次多项式。

例题 5:P3643

将权值区间左闭右开离散化,发现每一段内的权值转移形式相同。于是分成 O(n) 段,每段内部进行线性插值即可。

posted @   ImALAS  阅读(71)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示