多项式多点求值和插值

本文介绍了多项式多点求值和插值的方法。通过分治策略,使用类似于线段树的数据结构,复杂度为Θ(nlog2n)。对于多项式插值,利用拉格朗日插值公式,结合洛必达法则,通过求导和分治实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

o r z   f j z z q orz~fjzzq orz fjzzq

多项式多点求值

给定一个多项式 F ( x ) F(x) F(x)
求出对于每个点 x i x_i xi F ( x i ) F(x_i) F(xi)
考虑分治

L ( x ) = ∏ i = 0 n 2 ( x − x i ) , R ( x ) = ∏ i = n 2 + 1 n ( x − x i ) L(x)=\prod_{i=0}^{\frac{n}{2}}(x-x_i),R(x)=\prod_{i=\frac{n}{2}+1}^n(x-x_i) L(x)=i=02n(xxi),R(x)=i=2n+1n(xxi)
那么
对于 0 ≤ i ≤ n 2 0 \le i \le \frac{n}{2} 0i2n
F ( x i ) = ( F   m o d   L ) ( x i ) F(x_i)=(F~mod~L)(x_i) F(xi)=(F mod L)(xi)
对于 n 2 + 1 ≤ i ≤ n \frac{n}{2}+1 \le i \le n 2n+1in
F ( x i ) = ( F   m o d   R ) ( x i ) F(x_i)=(F~mod~R)(x_i) F(xi)=(F mod R)(xi)
分治下去
可以类似线段树把 L ( x ) / R ( x ) L(x)/R(x) L(x)/R(x) 储存下来
分治就是在 d f s dfs dfs 线段树,每次只要取模就好了
复杂度为大常数 Θ ( n l o g 2 n ) \Theta(nlog^2n) Θ(nlog2n)

多项式插值

给出 n + 1 n+1 n+1 个点 ( x 0 , y 0 ) . . . ( x n , y n ) (x_0,y_0)...(x_n,y_n) (x0,y0)...(xn,yn),求出这个多项式
根据拉格朗日插值
F ( x ) = ∑ i = 0 n y i ∏ j = 0 , j ≠ i n x − x j ∏ j = 0 , j ≠ i n x i − x j F(x)=\sum_{i=0}^{n}y_i\frac{\prod_{j=0,j\ne i}^{n}x-x_j}{\prod_{j=0,j\ne i}^{n}x_i-x_j} F(x)=i=0nyij=0,j̸=inxixjj=0,j̸=in

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值