因為快要wc了所以學一下多項式全家桶,不過國賽大概率是不會考這麼難的
因為比初步難所以叫多項式中步
然而好像並不會有多項式高步
只是介紹一下符號和概念
假設\(f(x)\)是乙個多項式
\([x^i]f(x)\)表示\(f(x)\)的第i項(也就是\(x\)的係數為\(i\)的那一項)
\(f(x)\mod x^n\)相當於是將次數大於等於n的項移除
多項式除法
對於兩個多項式,存在唯一的多項式\(q(x),r(x)\)
\[f(x)=q(x)g(x)+r(x)
\]\[deg(q)=deg(f)-deg(g)
\]\[deg(r)\lessdot deg(g)
\]可以模擬初中的除法
前置知識求導
我部落格裡曾經有過,但是它咕了
由簡單的求導公式和導數運算律
我們可以知道對於乙個多項式
\[f(x)=\sum\limits_^a_ix^i
\]\[f'(x)=\sum\limits_^(i+1)a_x^i
\]積分是求導的逆運算
對於乙個導數
\[f'(x)=\sum\limits_^a_ix^i
\]\[f(x)=\sum\limits_^\frac}x^
\]
開個一億的桶只會倍增法--zwj1
求\(f^(x)\mod x^n\)
從小往大推
\[f^(x)\equiv([x^0]f(x))-1\pmod
\]遞迴邊界就是最後等於常數項的逆元
假設已經知道了\(\mod x^\rceil}\)的逆元\(g(x)\)
然後遞推出\(\mod x^\)的逆元\(h(x)\)(這樣記只是為了不寫上標)
\[f(x)g(x)\equiv 1\pmod\rceil}}
\]\[f(x)g(x)-1\equiv 0\pmod\rceil}}
\]因為右邊的值為0,所以此時兩邊平方之後會變成\(\pmod}\)
\[(f(x)g(x)-1)^2\equiv 0\pmod
\]\[f^2(x)g^2(x)-2f(x)g(x)+1=0\pmod
\]\[1=2f(x)g(x)-f^2(x)g^2(x)\pmod
\]兩邊同除\(f(x)\)
\[h(x)=2g(x)-f(x)g^2(x)\pmod
\]提出乙個\(g(x)\)
\[h(x)=g(x)(2-f(x)g(x))\pmod
\]遞迴就完了
雖然做了很多次ntt,但是時間複雜度是\(n\log n\)的
咕咕咕求\(g(f(x))\equiv0\pmod\)
假設已經得到了\(\mod \lceil\frac\rceil\)的答案\(f_0(x)\)
將這個函式在\(f_0(x)\)處泰勒展開
\[\sum\limits_^\frac(f_0(x))}(f(x)-f_0(x))^i\equiv0\pmod
\]易知
\(f(x)-f_0(x)\)的後\(\lceil\frac\rceil\)為\(0\),所以二次及以上的係數全為\(0\)
那後面就都沒了
\[g(f_0(x))+g'(f_0(x))(f(x)-f_0(x))\equiv0\pmod
\]\[f(x)\equiv f_0(x)-\frac\pmod
\]大概是因為這個式子長得很像牛頓迭代所以叫他多項式牛頓迭代
具體應用見多項式\(exp\)和多項式開方
求\(\ln f(x)\pmod\)
設所求為\(g(x)\)
\[g(x)=\ln f(x)\pmod
\]對兩邊求導
\[g'(x)=\ln'(f(x))f'(x)\pmod
\]\[已知ln'x=\frac
\]\[g'(x)=\frac\pmod
\]求個逆就完了
因為多項式求逆是\(o(nlogn)\)的,所以它也是\(o(nlogn)\)的
用多項式牛頓迭代
求\(f(x)\equiv e^\pmod\)
\[\ln f(x)\equiv a(x)\pmod
\]\[\ln f(x)-a(x)\equiv 0\pmod
\]\[g(f(x))=\ln f(x)-a(x)
\]\[g'(f(x))=\frac
\](這裡把\(f(x)\)看做引數,\(a(x)\)看做常數)
帶入牛頓迭代的式子
\[f(x)=f_0(x)-f_0(x)(\ln f_0(x)-a(x))\pmod
\]\[f(x)=f_0(x)(1-\ln f_0(x)+a(x))\pmod
\]因為多項式\(ln\)是\(o(nlogn)\)的,所以它還是\(o(nlogn)\)的(迫真)
低階做法
直接快速冪
時間複雜度\(o(n\log n\log k)\)
先求\(\ln\)再乘\(k\)再求\(exp\)
時間複雜度\(o(n\log n)\)
好像這樣可以實現\(o(1)\)快速冪qaq
就是對於乙個\(f(x)\),求乙個\(g(x)\)
使得\(g^2(x)=f(x)\pmod\)
和多項式求逆一樣的頹法
邊界一樣(因為板子保證了\([x^0]a(x)=1\)所以不用寫二次剩餘)
設\[f(x)\equiv\sqrt\pmod
\]\[f^2(x)\equiv a(x)\pmod
\]\[f^2(x)-a(x)\equiv 0\pmod
\]\[g(f(x))=f^2(x)-a(x)
\]\[g'(f(x))=2f(x)
\]\[f(x)\equiv f_0(x)-\frac\pmod
\]用多項式快速冪求\(a(x)^}\)咕咕
MATLAB多項式及多項式擬合
多項式均表示為陣列形式,陣列元素為多項式降冪係數 1.polyval函式 求多項式在某一點或某幾個點的值.p 1,1,1 x 2 x 1 x 1,0,1 y polyval p,x 另外求函式在某一點或某幾個點的值可以用函式feval.x 1,0,1 y feval x exp x x 注意用的乘法...
數學 多項式 多項式求逆
多項式求逆 前置知識 ntt 給定乙個多項式 f left x right 求乙個多項式 g left x right 使得 f left x right g left x right equiv 1 left bmod 998244353 right 考慮遞迴求解。假定現在已經求出了 g 0 le...
matlab多項式與非多項式擬合
擬合標準 1 原始資料向量與擬合向量之間的距離最小,該距離的度量一般使用誤差平方和表示,即均方誤差 r q y 22 2 當均方誤差最小時,說明構造的擬合向量與原始向量最為接近,這種曲線擬合的方法稱為最小二乘法 3 計算均方誤差最小時的擬合係數,可以通過微積分中求解極值的方法實現 多項式擬合 1 多...