Preface
多项式算法可以延伸出很多重要的定理, 无论实在 OI
界 还是 数学
界 都有着十分重要的地位
Start up
设两个多项式
f(x)g(x)=a0+a1x+a2x2+⋯+anxn=b0+b1x+b2x2+⋯+bnxn
首先我们要引入几个基本定理
系数表示
我们主要研究的是多项式的系数, 所以要引入系数表示法
显然易得, 我们可以直接拿系数来表示一个多项式: f(x)={a0,a1,a2,⋯,an}
点值表示
那么能否转化为点值表示呢, 毕竟点值有很多优良性质可以用
我们用 n+1 个点 {x0,x1,⋯,xn} 带入 f(x) 可以得到: {(x0,f(x0)),(x1,f(x1)),⋯,(xn,f(xn))}
显然, 如果他们不是唯一确定的, 我们无法进行"稳定的相互转换", 进而无法使用点值表示法求解多项式问题.
那么如何证明点值表示法的唯一确定性?
证明
当然你用范德蒙行列式证明也行, 然而我不会
考虑反证法.
假设现在 f(x)=g(x)(∃ ak=bk,k=0,1,⋯,n)
但是, 有 {(x0,f(x0)),(x1,f(x1)),⋯,(xn,f(xn))}={(x0,g(x0)),(x1,g(x1)),⋯,(xn,g(xn))};xi=xj=0,i=j;i,j=0,1,⋯,n
意思是: 现在无法保证 f(x),g(x) 全部的系数都相等(他们是不同的多项式), 但是他们的点值表示法是相等的
简单情况
首先考虑非常简单的情况( n=2 )
带入 {x0,x1} 可以得到
{a0+a1x0+a2x02=b0+b1x0+b2x02a0+a1x1+a2x12=b0+b1x1+b2x12
整理得
{(a0−b0)+(a1−b1)x0+(a2−b2)x02=0(a0−b0)+(a1−b1)x1+(a2−b2)x12=0
上下相减得
(a1−b1)(x0−x1)+(a2−b2)(x02−x12)=0
不难发现 (x02−x12)=(x0−x1)(x0+x1) 又 (x0−x1)=0
不难得到 (a1−b1)+(a2−b2)(x0+x1)=0
同理得到 (a1−b1)+(a2−b2)(x1−x2)=0
上下相减 (a2−b2)(x0+x2)=0
又因为 ak=bk,xi=xj=0;i,j,k∈{0,1,2}
即 (a2−b2)=0,(x0+x2)=0
由此产生矛盾
复杂情况
简单情况想通后就简单了, 把 n+1 个式子每次用第 k 个式子 减去第 k+1 个式子, 然后套用因式定理
逐步消掉一些简单因式, 得到 n 个式子, 最终逐步得到 1 个因式相乘组成的式子, 找出矛盾即可
简单来说就是一直上下相减, 当然过程量有点复杂, 但是 因式定理 出来的一连串加法是可以在下一轮上下相减中消去的, 所以最后可以得到 (an−bn)(x0+xn)=0
自己简单拿 n=4 的情况推一下就理解了, 一般形式的证明有点繁琐我就不写了