鬼畜的多項式

2021-09-06 22:04:01 字數 1910 閱讀 9498

寫點做多項式筆記以及遇到的各種蛋疼的東西....(不懂可以q我辣我十分願意!

(picks部落格已經成為中國多項式入門到精通的經典教程辣!詳見:

裸的fft= =複數搞搞

對於一些要對係數取模而取的模十分鬼畜即滿足存在$k$,使得$2^k | (p-1) 且 2^k > n$時那麼可以用乙個$p$的原根代替複數根,即用$g^}$代替fft裡的單位根$\omega ^ }$。其逆為$n^ g^}$。容易證明這是正確的。(可以照著算導對單位根的所需要性質然後來證明)

這個求逆指的是對乙個$mod$特定次數的$x$求逆,例如求$a(x)$在模$x^n$下的逆,即求乙個$b(x)$使得$a(x)b(x) \equiv 1 \pmod$,這個用倍增的思想容易得到

$$ b_(x) \equiv b_ \right \rceil } \left( 2 - a(x)b_ \right \rceil } \right) \pmod $$

$b_(x)$指的是在模$x^n$下的$a$的逆

這裡一定注意在碼的時候,右式得到的次數界應該大於等於$n+n$(在這裡大於的部分被模掉了!)的啊...不要以為是$n+\left \lceil \frac \right \rceil +1$啊555,在這裡wa了好多發啊qaq

指的是給出$a(x), b(x)$求$a(x) = b(x)c(x) + d(x)$,其中滿足$deg(a)=deg(b)+deg(c), deg(d)這裡需要用點技巧orz如果能想到翻轉多項式那麼這題就好做了orz令$f^(x)$表示將多項式$f(x)$係數前後翻轉後的多項式,即$f^(x) = x^ f(\frac)$。那麼我們將$\frac$先帶入$a(x) = b(x)c(x) + d(x)$並乘上乙個$x^$最後化簡能得到就能得到

$$a^r(x) \equiv b^r(x)c^r(x) \pmod}$$

取模也相應解決了

指的是在模$x^n$的意義下給出$a(x)$,求$\sqrt$。那麼能開根的條件就是$a(x)$的最低次是2的倍數且係數能被開根。

如果想到倍增這個問題也是很好解決的...最終得到

$$a \equiv \left( 2^ a_ \right \rceil } + 2^ a a_ \right \rceil }^ \right)^2 \pmod$$

下標的意義同求逆那裡。($a_$表示$a_^2 \equiv a \pmod$

要注意的和求逆那裡一樣,右式次數界同樣是大於等於$n+n$且求逆的時候是取模$x^n$下的逆,因為$a_ \right \rceil }^$的次數界可能為$n$。

對應的例題看picks部落格辣= =

多項式求逆:【bzoj】3456: 城市規劃

#include using namespace std;

typedef long long ll;

const int n=130050, fn=n<<2;

const ll mo=1004535809;

ll g[35], ng[35];

int rev[fn];

ll ipow(ll a, int b)

void fft(ll *a, int n, int f)

void p(int *a, int n)

void fft_init()

int getlen(int n)

void fft_init()

int getlen(int n)

int a[n], b[n];

int main()

a[0]=1;

getroot(a, b, m+1);

b[0]=(b[0]+1)%mo;

getinv(b, a, m+1);

for(int i=1; i<=m; ++i) printf("%d\n", (a[i]<<1)%mo);

return 0;

}

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 多...