將\(fft\)中的單位複數根改成原根即可。
struct mul }
void ntt(int * a, int opt)
for (register int i = 0; i < len; i += 4)
for (register int i = 8; i <= len; i <<= 1)
}}
if (opt == -1)
}inline void init()
inline int getlen(int l)
};
也就是求
\[a(x)b(x) = 1 \pmod
\]假設我們已知
\[a(x)g(x) = 1 \pmod\rceil}}
\]兩式相減得
\[a(x)(b(x) - g(x)) = 0 \pmod\rceil}}
\]\[b(x) - g(x) = 0 \pmod\rceil}}
\]\[b^2(x) + g^2(x) - 2b(x)g(x) = 0 \pmod
\]兩邊同時乘上\(a(x)\)
\[a(x)b^2(x) + a(x)g^2(x) = 2a(x)b(x)g(x)
\]因為\(a(x)b(x) = 1\), 所以可以得到
\[b(x) + a(x)g^2(x) = 2g(x)
\]\[b(x) = 2g(x) - a(x)g^2(x)
\]就這樣解決了
時間複雜度為\(t(n) = t(\frac) +o(n \log n)\)
inline void getinv(int * a, int * b, int len)
return;
}
也就是求
\[b^2(x) = a(x) \pmod
\]假設我們已知
\[g^2(x) = a(x) \pmod\rceil}}
\]兩式相減得
\[b^2(x) - g^2(x) = 0 \pmod\rceil}}
\]然後平方一下
\[b^4(x) + g^4(x) - 2b^2(x)g^2(x) = 0 \pmod
\]\[b^4(x) + g^4(x) = 2b^2(x)g^2(x) \pmod
\]配一下方
\[b^4(x) + g^4(x) + 2b^2(x)g^2(x) = 4b^2(x)g^2(x) \pmod
\]\[(b^2(x) + g^2(x))^2 = (2b(x)g(x))^2 \pmod
\]\[b^2(x) + g^2(x) = 2b(x)g(x) \pmod
\]因為\(b^2(x) = a(x)\), 所以可以得到
\[b(x) = }
\]為了方便實現,我們常把它化成
\[b(x) = +
\]然後就解決了
時間複雜度為\(t(n) = t(\frac) + o(n \log n) = o(n \log n)\)
模擬即可
inline void getderi(int * a, int len)
模擬即可
inline void getinte(int * a, int len)
已知多項式\(a(x)\), 求\(b(x) = \ln (a(x))\)
根據鏈式法則, 我們可以得到
\[b'(x) = \frac(\ln(a(x)))}a(x)} \fraca(x)}x} = \frac
\]所以
\[b(x) = \int \frac \mathbbx
\]
void getln(int * a, int len)
時間複雜度還是\(t(n) = t(\frac) + o(n \log n) = o(n \log n)\)
我們要求\(f(x) = 0\)的根
那麼可以使用泰勒公式來近似\(f(x) = 0\)的根
我們設當前的近似值是\(x_\), 我們想要得到的近似值是\(x_\)
擷取泰勒公式的線性部分: $$f(x_) + f'(x_)(x_-x_n) = 0$$
解方程得: $$x_ = x_n - \frac)})}$$
這樣不斷迭代
我們可以用這種方法來解多項式方程。
我們要求的是 \(exp(a(x))\), 這相當於解乙個方程: \(\ln(exp(a(x))) - a(x) = 0\)
可以直接套用牛頓迭代法求解。
對稱多項式的一些結論
目錄數學中的對稱多項式是一種特殊的多元多項式。如果乙個 n 元多項式 text p x 1,x 2,x n 對任意的 n 元置換 sigma 都有 text p x x x text p x 1,x 2,x n 就說 text p 是對稱多項式。範德蒙德矩陣的行列式值 prod limits n x...
輔助多項式解決一些中值定理問題
開門見山吧,所謂輔助多項式即是當預證結論為 fn k 且題幹條件較多時,我們可以構造乙個n項多項式p x 使得p x 滿足題幹中f x 應該滿足的條件,然後令f x f x p x 再對f x 使用多次羅爾定理即可!注 n的取法 見到題目給出三個點我們很容易想到羅爾定理 卻發現這三個點不相等,那麼我...
多項式全家桶(一) 多項式的加,減,卷積
多項式的加,減,卷積,是比較基本的多項式操作,以模擬和 ntt nttnt t 為主,主要是展示和記錄模板的操作。單項式其實就是常數。inline polynomial operator const polynomial a,const int b inline polynomial operato...