锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

多项式芝士总结

时间:2023-08-16 01:07:00 wnk808系列压力变送器wnk79智能压力变送器wnk79压力变送器

欧拉公式: e x i = c o s x i s i n x e^{xi}=cosx i~sinx exi=cosx isinx

当x取2π的时候 有

e π i = c o s 2 π i s i n 2 π = 1 e^{\pi i}=cos2\pi i~sin2\pi=1 eπi=cos2π isin2π=1

所以对于 x n = 1 x^n=1 xn=1

x x x 可能的一个解是 e 2 π i n \frac{e^{2\pi i}}{n} ne2πi

w n = e 2 π i n w_n=e^{\frac{2\pi i}{n}} wn=en2πi

那么解集是 w n k ∣ k ∈ [ 0 , n ) {w_n^k|k\in[0,n)} wnkk[0,n) (证明考虑欧拉公式) 别忘了是n次方,之所以范围是[0,n) 是因为等于n的时候 可以整体减去2π 答案不变

w n n = 1 w_n^n=1 wnn=1

有以下性质:

w n k w_n^k wnk是互异的,保证用于插值的个数是对的

w 2 n 2 k = w n k w_{2n}^{2k}=w_{n}^k w2n2k=wnk (一分两半值不变 可以分治)

w n n 2 + k = − w n k w_{n}^{\frac{n}{2}+k}=-w_n^k wn2n+k=wnk (直角坐标系上单位圆) (前半可以推后半)

以上都是在fft求点值的过程中用的 最后还需要从点值变回系数

k ≠ 0 , ∑ i = 0 n − 1 ( w n k ) i = 0 k\neq0,\sum\limits_{i=0}^{n-1}(w_n^k)^i=0 k=0,i=0n1(wnk)i=0 (感性理解 奇数次数和偶数次数相同)

两个复数相乘,模等于两个模相乘,辅角相加

具体来说 例如两个模是 a 2 + b 2 \sqrt{a^2+b^2} a2+b2 c 2 + d 2 \sqrt{c^2+d^2} c2+d2

那么新的模式 a 2 + b 2 × c 2 + d 2 \sqrt{a^2+b^2} \times \sqrt{c^2+d^2} a2+b2 ×c2+d2

在这里插入图片描述
矩阵里是取倒数

之所以FFT时 ab数组是对应位置相乘 原因在于 本质上ab相乘对应卷积没有实际含义,只是为了求逆的方便,因此对应位置相乘

写代码的时候之所以写的是 π / m i d \pi/mid π/mid 是因为本来应该是 ( 2 π ) / ( 2 m i d ) (2\pi)/(2mid) (2π)/(2mid) 刚好约一下

NTT的时候 则 g n k = x k ( p − 1 ) / n g_n^k=x^{k(p-1)/n} gnk=xk(p1)/n,其中 n是长度,k是幂 p是质数,x是p的一个原根

NTT常用质数:998244353,469762049,1004535809 原根都是3

我破防了 电脑被人关了 往下写了一千字都没了 我谢谢你

以及 csdn ctrl S完全没用是吧 哈哈

想润every day

多项式开根

证明

a [ 0 ] ! = 1 a[0]!=1 a[0]!=1 的时候需要用二次剩余求出最后一个数

一句话总结

G ( x ) = F ( x ) + H 2 ( x ) 2 H ( x ) G(x)=\frac{F(x)+H^2(x)}{2H(x)} G(x)=2H(x)F(x)+H2(x)

多项式相加直接对应系数相加就好

注意 G ( x ) + 1 G(x)+1 G(x)+1 是把 G ( x ) G(x) G(x) 的常数位置+1,不是所有项都+1

多项式全家桶

牛顿迭代

G ( x ) = G ∗ ( x ) − F ( G ∗ ( x ) ) F ′ ( G ∗ ( x ) ) G(x)=G_*(x)-\frac{F(G_*(x))}{F'(G_*(x))} G(x)=G(x)F(G(x))F(G(x))

复合函数求导的链式法则

( F ( G ( x ) ) ) ′ = F ′ ( G ( x ) ) G ( x ) (F(G(x)))'=F'(G(x))G(x) (F(G(x)))=F(G(x))G(x)

F ( G ( x ) ) ′ F(G(x))' F(G(x)) 是对整个复合函数求导 自变量是 x x x

F ′ ( G ( x ) ) F'(G(x)) F(G(x)) 则相当于是对 F ( x ) F(x) F(x) 求了个导之后把 G ( x ) G(x) G(x) 代了进去

差卷积

对于 G [ k ] = ∑ i = k n ( − 1 ) ( i − k ) ( i − k ) ! F [ i ] G[k]=\sum\limits_{i=k}^n\frac{(-1)^{(i-k)}}{(i-k)!}F[i] G[k]=i=kn(ik)!(1)(ik)F[i]

G [ k ] = A [ i − k ] B [ i ] G[k]=A[i-k]B[i] G[k]=A[ik]B[i]

我们发现 k k k 这个位置会受到 2 i − k 2i-k 2ik 的贡献

如果我们反一下

B ′ [ i ] = B [ n − i ] B'[i]=B[n-i] B[i]=B[ni]

那么 将 A ( x ) , B ′ ( x ) A(x),B'(x) A(x),B(x) 做卷积

n − i 1 + i 2 n-i_1+i_2 ni1+i2 会相当于原序列 B [ i 1 ] ∗ A [ i 2 ] B[i_1]*A[i_2] B[i1

相关文章