三价铁旁长眠的衔尾蛇

发布时间 2023-04-12 21:52:45作者: yukari1735

算导思考题 \(30-5\)

引理 \(1\)

\[A(x)\bmod{(x-z)}=A(z) \]

\(A(x)=\prod_{i=0}^{n-1}(x-x_i)\),有

\[(x-x_i)\bmod{(x-z)}=z-x_i \]

所以

\[\begin{aligned}A(x)\bmod{(x-z)}&=\prod_{i=0}^{n-1}(x-x_i)\bmod{(x-z)}\\ &=\prod_{i=0}^{n-1}(z-x_i)\\ &=A(z) \end{aligned}\]

引理 \(2\)

\[\Big(A(x)\bmod{B(x)C(x)}\Big)\bmod B(x)=A(x)\bmod B(x) \]

根据多项式取模的定义写开左右两边,右边是 \(R(x)\) 满足

\[A(x)=D(x)B(x)+R(x),\ \deg(A)=\deg(B)+\deg(D),\deg(R)<\deg(B) \]

左边是 \(R_2(x)\) 满足

\[A(x)=D_1(x)B(x)C(x)+R_1(x),\ \deg(A)=\deg(B)+\deg(C)+\deg(D_1),\ \deg(R_1)<\deg(B)+\deg(C) \]

\[R_1(x)=D_2(x)B(x)+R_2(x),\ \deg(R_1)=\deg(D_2)+\deg(B), \deg(R_2)<\deg(B) \]

\[\begin{aligned} A(x)&=D_1(x)B(x)C(x)+D_2(x)B(x)+R_2(x)\\ &=B(x)\Big(D_1(x)C(x)+D_2(x)\Big)+R_2(x) \end{aligned}\]

其中 \(\deg(D_1(x)C(x)+D_2(x))=\deg(B)-\deg(A)\),故满足 \(\deg(A)=\deg(B)+\deg(D_1(x)C(x)+D_2(x))\),所以实际上 \(D_1(x)C(x)+D_2(x)=D(x)\),得到 \(R(x)=R_2(x)\)

\(O(n\log^2n)\) 的多项式多点求值

已知可以 \(O(n\log n)\) 实现多项式取模。

根据引理 \(1\),如果只有一个点 \(z\) 需要求值,我们可以直接求 \(A(x)\bmod{(x-z)}\)

对于 \(m\) 个待求值的点 \(z_1,z_2,\cdots,z_m\),构造多项式 \(\prod_{i=1}^m(x-z_i)\)