多项式概念浅谈
多项式
形如 \(f(x)=\sum_{i=0}^{n}a_ix^i\) 的式子叫做多项式。
我们称其最高次项的次数为该多项式的度,即 \(deg~f\)
多项式操作
我们提前申明:
\[f(x)=\sum_{i=0}^{n}a_ix^i \\
g(x)=\sum_{i=0}^{m}b_ix^i
\]
已经本文仅对大部分多项式操作做一个初步了解,不对具体做法进行讲述。
多项式加法
对于两个多项式,让他们按次数合并同类项,即
\[f(x)+g(x)=\sum_{i=0}^{n}(a_i+b_i)x^i
\]
这个式子我们可以在 \(O(n)\) 的复杂度内计算。
多项式乘法
我们定义多项式的乘法:
\[f(x)g(x)=\sum_{i=0}^n\sum_{j=0}^ma_ib_ix^{i+j} \\
=\sum_{i+j=k}a_ib_jx^k
\]
这个式子暴力计算复杂度是 \(O(n^2)\) 的,但是我们可以用快速傅里叶变换将复杂度降低至 \(O(n\log n)\)。
具体要怎么操作我们这里不讲,而是留给另一个卷积专题。顺带一提,上面这个式子也被称为加法卷积。
多项式的逆元
对于 \(f(x)\) 的模 \(x^n\) 意义下的逆元 \(g(x)\) ,满足:
\[f(x)g(x)\equiv 1 (mod~x^n)
\]
意思就是说,我们只考虑两个多项式相乘得到的多项式的前 \(n\) 项,其只有常数项是 \(1\) ,其他项都为 \(0\) 。然后对于要求了 \(deg~g \le n\) 的,则此时的 \(g\) 唯一。
多项式的除法
我们对于多项式 \(f,g\) 定义 \(f/g\) 的商和余数 \(q,r\)。
具体地说,满足:
\[f(x)=q(x)g(x)+r(x) \\
f(x)\equiv r(x)~(mod~g(x)~)
\]
多项式多点求值和插值
多点求值
给出多项式 \(f(x)\) 和 \(n\) 个横坐标 \(x_i\) ,然后求 \(f(x_i)\) 。
插值
给出 \(n\) 个点 \((x_i,y_i)\) 求出一个最高为 \(n\) 次的多项式 \(f(x)\)。