多项式

多项式全家桶

参考

总是忘记多项式板子。。。

这里推一下柿子方便记忆

一些规定

本文中的 × \times ×\times皆为卷积,表示 ( A × B ) i = ∑ j + k = i A j × B k (A\times B)_i=\sum_{j+k=i}A_j\times B_k (A×B)i=j+k=iAj×Bk

未特殊说明的话都在 m o d    998244353 \mod 998244353 mod998244353意义下

FFT,NTT,MTT

INV

多项式求逆

已知函数 f f f,求函数 g g g满足 f × g ≡ 1 m o d    x n f\times g\equiv 1\mod x^n f×g1modxn

考虑倍增

假设已经求出函数 h h h满足 f × h ≡ 1 m o d    x n / 2 f\times h\equiv 1\mod x^{n/2} f×h1modxn/2

g − h ≡ 0 m o d    x n / 2 g-h\equiv 0\mod x^{n/2} gh0modxn/2

两边同时平方

g 2 − 2 g h + h 2 ≡ 0 m o d    x n g^2-2gh+h^2\equiv 0\mod x^n g22gh+h20modxn

至于为什么可以这么做,考虑函数 A ≡ 0 m o d    x n A\equiv 0\mod x^n A0modxn,那么 ∀ i ∈ [ 0 , n ) \forall i\in[0,n) i[0,n), A i = 0 A_i=0 Ai=0

所以 A 2 A^2 A2 ∀ i ∈ [ 0 , 2 n ) , A i 2 = 0 \forall i\in[0,2n),A^2_i=0 i[0,2n),Ai2=0

两边同时乘以 f f f

g − 2 h + h 2 f ≡ 0 m o d    x n g-2h+h^2f\equiv 0\mod x^n g2h+h2f0modxn

g = 2 h − h 2 f g=2h-h^2f g=2hh2f

LN

多项式求 ln ⁡ \ln ln

已知函数 f ( x ) f(x) f(x),求函数 g ( x ) g(x) g(x)满足 g ( x ) ≡ ln ⁡ f ( x ) m o d    x n g(x)\equiv \ln f(x)\mod x^n g(x)lnf(x)modxn

需要特殊说明的是, g g g的常数项必须为 1 1 1

ln ⁡ ′ ( x ) = 1 x \ln' (x)=\frac{1}{x} ln(x)=x1

ln ⁡ ′ ( f ( x ) ) = f ′ ( x ) f ( x ) \ln'(f(x))=\frac{f'(x)}{f(x)} ln(f(x))=f(x)f(x)

链式求导

之后求积分

EXP

多项式求 exp ⁡ \exp exp

已知函数 f f f,求函数 g g g满足 g ≡ e f m o d    x n g\equiv e^f\mod x^n gefmodxn

需要特殊说明的是, f f f的常数项必须为 0 0 0

泰勒展开

f ( x ) = f ( x 0 ) + ∑ i = 1 f ( i ) ( x 0 ) i ! × ( x − x 0 ) i f(x)=f(x_0)+\sum_{i=1}\frac{f^{(i)}(x_0)}{i!}\times (x-x_0)^i f(x)=f(x0)+i=1i!f(i)(x0)×(xx0)i

f ( x ) f(x) f(x) x 0 x_0 x0处泰勒展开,即构造一个函数,使他在 x 0 x_0 x0处的任意阶导数等于 f ( x ) f(x) f(x)相同

牛顿迭代

已知函数 f f f,求函数 g g g满足 f ( g ( x ) ) ≡ 0 m o d    x n f(g(x))\equiv 0 \mod x^n f(g(x))0modxn

考虑倍增

假设已知函数 h h h满足 f ( h ( x ) ) ≡ 0 m o d    x n / 2 f(h(x))\equiv 0\mod x^{n/2} f(h(x))0modxn/2

f f f h ( x ) h(x) h(x)处泰勒展开

f ( g ( x ) ) = f ( h ( x ) ) + ∑ i = 1 f ( i ) ( h ( x ) ) i ! × ( g ( x ) − h ( x ) ) i f(g(x))=f(h(x))+\sum_{i=1}\frac{f^{(i)}(h(x))}{i!}\times (g(x)-h(x))^i f(g(x))=f(h(x))+i=1i!f(i)(h(x))×(g(x)h(x))i

显然, f ( g ( x ) ) ≡ 0 m o d    x n / 2 f(g(x))\equiv 0 \mod x^{n/2} f(g(x))0modxn/2

所以, g ( x ) ≡ h ( x ) m o d    x n / 2 g(x)\equiv h(x)\mod x^{n/2} g(x)h(x)modxn/2

所以 ∀ i > 1 , ( g ( x ) − h ( x ) ) i ≡ 0 m o d    x n \forall i>1,(g(x)-h(x))^i\equiv 0\mod x^n i>1,(g(x)h(x))i0modxn

所以 f ( g ( x ) ) ≡ f ( h ( x ) ) + f ′ ( h ( x ) ) × ( g ( x ) − h ( x ) ) ≡ 0 m o d    x n f(g(x))\equiv f(h(x))+f'(h(x))\times (g(x)-h(x))\equiv 0\mod x^n f(g(x))f(h(x))+f(h(x))×(g(x)h(x))0modxn

g ( x ) ≡ h ( x ) − f ( h ( x ) ) f ′ ( h ( x ) ) m o d    x n g(x)\equiv h(x)-\frac{f(h(x))}{f'(h(x))}\mod x^n g(x)h(x)f(h(x))f(h(x))modxn

求EXP

两边同时取 ln ⁡ \ln ln

ln ⁡ ( g ( x ) ) ≡ f ( x ) m o d    x n \ln(g(x))\equiv f(x)\mod x^n ln(g(x))f(x)modxn

G ( g ( x ) ) = ln ⁡ ( g ( x ) ) − f ( x ) m o d    x n G(g(x))=\ln(g(x))-f(x)\mod x^n G(g(x))=ln(g(x))f(x)modxn

套牛顿迭代

假设已经求出 G ( h ( x ) ) ≡ 0 m o d    x n / 2 G(h(x))\equiv 0\mod x^{n/2} G(h(x))0modxn/2

g ( x ) = h ( x ) − G ( h ( x ) ) G ′ ( h ( x ) ) g(x)=h(x)-\frac{G(h(x))}{G'(h(x))} g(x)=h(x)G(h(x))G(h(x))

h ( x ) h(x) h(x)是自变量, f ( x ) f(x) f(x)与他无关,算常量

G ′ ( h ( x ) ) = 1 h ( x ) G'(h(x))=\frac{1}{h(x)} G(h(x))=h(x)1

g = h × ( 1 − ln ⁡ h + f ) g=h\times (1-\ln h+f) g=h×(1lnh+f)

多项式除法与取模

代填

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值