Loading

多项式全家桶

多项式全家桶学习

多项式乘法

用DFT将系数表达式转为点值表达式,\(O(n)\)乘法,再IDFT回去即可

FFT详解

多项式求逆

给定多项式\(A(x)\),求\(B(x)\)满足\(A(x)B(x)\equiv1(mod x^n)\)

考虑倍增

不妨假设\(n=2^k\)

  • \(n=1\)时,\(B(x)=A(x)^{p-2}\)
  • \(n>1\)时,已有\(A(x)B'(x)\equiv1(mod x^{\frac{n}{2}})\)

\[A(x)B(x)\equiv1(mod x^n) \]

显然有

\[A(x)B(x)\equiv1(mod x^{\frac{n}{2}}) \]

又因为

\[A(x)B'(x)\equiv1(mod x^{\frac{n}{2}}) \]

\[A(x)(B(x)-B'(x))\equiv1(mod x^{\frac{n}{2}}) \]

所以

\[B(x)-B'(x)\equiv 0(mod x^{\frac{n}{2}}) \]

前n/2项都为0,那么平方后就有

\[B(x)^2-2B(x)B'(x)+B'(x)^2\equiv0(mod x^n) \]

两边同乘\(A(x)\),整理,有

\[B(x)\equiv2B'(x)+A(x)B'(x)^2(mod x^n) \]

递归/自下而上递推即可

多项式求导、积分

求导

\[\frac{\mathbb{d}(\sum\limits_{k=0}^{n-1}a_k x^k)}{\mathbb{d} x}=\sum_{k=0}^{n-1}\frac{\mathbb{d}(a_k x^k)}{\mathbb{d} x}=\sum_{k=1}^{n-1}k a_k x^{k-1}=\sum_{k=0}^{n-2}(k+1)a_{k+1}x^k \]

积分

\[\int\sum_{k=0}^{n-1}a_k x^k \mathbb{d}x=\sum_{k=0}^{n-1}\int a_k x^k\mathbb{d}x=\sum_{k=0}^{n-1}\frac{a_k}{k+1}x^{k+1}=\sum_{k=1}^n\frac{a_{k-1}}{k}x^k \]

多项式求ln

已知\(A(x)\),求\(B(x)=ln(A(x))\)

对两边求导,得到

\[B'(x)=\frac{A'(x)}{A(x)} \]

两边积分,则有

\[B(x)=B(x)=\int\frac{A'(x)}{A(x)}\mathbb{d}x \]

求导+积分+求逆解决

posted @ 2020-09-28 16:39  tt66ea蒟蒻  阅读(101)  评论(0编辑  收藏  举报