首页 > 其他分享 >拉格朗日插值

拉格朗日插值

时间:2023-10-15 23:11:31浏览次数:45  
标签:拉格朗 前缀 插值 siz 多项式 例题

拉格朗日插值:给定 \(n+1\) 个点值 \((x_i,y_i)\),对应唯一一个 \(n\) 次多项式,带入 \(f(k)=\sum\limits_{i=1}^{n+1} y_i\prod\limits_{j\neq i} \frac{k-x_j}{x_i-x_j}\)。

基本思想就是,构建 \(n+1\) 个多项式使得 \(x=x_i\) 时为 1,\(x=x_j(j\neq i)\) 时为 0。

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

例题 1:CF622F

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

  • \(n\) 次多项式的前缀和是 \(n+1\) 次多项式。
  • \(n\) 次多项式的差分是 \(n-1\) 次多项式。

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

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

例题 2:ABC208F

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

例题 3:CF995F

暴力 dp 容易列出。我们归纳证明它是一个 \(f_u(d)\) 是一个 \(siz_u-1\) 次的多项式。

首先叶子节点是 0 次多项式。然后对于非叶子节点 \(u\),它的子节点 \(v\) 对应 \(f_v\) 做前缀和得到一个 \(siz_v\) 次多项式,然后乘起来得到 \(\sum_v siz_v=siz_u-1\) 次多项式。

例题 4:P4463

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

例题 5:P3643

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

标签:拉格朗,前缀,插值,siz,多项式,例题
From: https://www.cnblogs.com/663B/p/17766434.html

相关文章

  • 基于亚奈奎斯特采样和SOMP算法的平板脉冲响应空间插值matlab仿真
    1.算法运行效果图预览 2.算法运行软件版本matlab2022a 3.算法理论概述     平板脉冲响应(PulseResponse)是通信和雷达等领域中的重要参数,它描述了信号在空间中传播的特性。在现实应用中,获取完整的脉冲响应通常是耗时且昂贵的。基于亚奈奎斯特采样和SOMP算法的平板脉......
  • webgl centroid质心插值的一点理解
    质心插值说的是什么2023.10.04再次review这个细节点:https://www.opengl.org/pipeline/article/vol003_6/https://github.com/WebGLSamples/WebGL2Samples/blob/master/samples/glsl_centroid.html#L69基本上把这个问题看明白了;centroid代表质心插值;问题来自于在对普通的vary......
  • 《拉格朗日插值》小记
    随便学学,主要是又被卡科技了。参考文章:\(Alex\_Wei\)的拉格朗日插值与多项式乘法\(Alex\_Wei\)的多项式I:拉格朗日插值与快速傅里叶变换\(yyc\)的从拉插到快速插值求值算法介绍公式口糊主要用来对于一个给定的\(n\)次多项式,用\(n+1\)个点值在\(O(n^2)\)的时间复......
  • Lagrange插值
    本文主要参考资料:找通项的终极方法!让每个人都能听懂的【拉格朗日插值法】_哔哩哔哩_bilibili回顾,多项式的系数表示法和点值表示法:FFT(快速傅立叶变换)学习-Isakovsky-博客园(cnblogs.com)从系数表示法到点值表示法的运算叫做求值运算,从点值表示法到系数表示法的运算叫做......
  • 拉格朗日插值 学习笔记
    拉格朗日插值学习笔记前言模拟赛考了,我不会,故学之。真的好抽象……背景众所周知,用\(n\)个点可以确定一个\(n-1\)次的多项式,那么应该如何确定呢?我们不妨考虑这样一个题目(其实就是洛谷模板题):给定\(n\)个点\((x,y)\),要求确定\(f(x)\)。当然,直接求出系数可能比较困难,......
  • 插值法
    多项式插值法使用n+1个点,确定一条唯一的多项式:多项式满足:写成矩阵的形式:显然左边是范德蒙德行列式,且有唯一解。根据克拉默法则,解为:其中将解代入原式子得到:二次累加可以交换次序: 其中: 其满足范德蒙德行列式,范德蒙德行列式计算如下:计算公式中的元素得到(不......
  • 线性插值
    线性插值publicstaticvoidinterpolate(List<Double>list){intstart=-1;for(inti=0;i<list.size();i++){if(list.get(i)==null)continue;if(start!=-1){intcount=i-sta......
  • 牛顿插值法 不同阶图像对比及Python代码实现
    importmatplotlib.pyplotaspltimportnumpyasnpdefnewton_interpolation(X,Y,x):"""计算x点的插值"""sum=Y[0]temp=np.zeros((len(X),len(X)))#将第一行赋值foriinrange(0,len(X)):temp[i,0]=Y[i]......
  • ArcPy基于Excel采样点长时间数据执行IDW插值与自动掩膜
      本文介绍基于Python中ArcPy模块,实现Excel数据读取并生成矢量图层,同时进行IDW插值与批量掩膜的方法。1任务需求  首先,我们来明确一下本文所需实现的需求。  现有一个记录有北京市部分PM2.5浓度监测站点在2019年05月18日00时至23时(其中不含19时)等23个逐小时PM2.5浓度数据......
  • 【Vue】大悟!模板语法-插值语法&指令语法
    Vue系列持续更新模板语法Vue模板语法包括两大类插值语法插值语法也就是两个大括号,也叫Mustache功能:用于解析标签体内容,可以进行运算、三元表达式等,将最终解析出来的内容插入到标签中写法:{{xxx}},xxx是js表达式,可以直接读取到data中的所有区域插值表达式中只能放置单个表达式,不......