多項式學習筆記

2022-07-13 20:27:15 字數 2752 閱讀 3026

拉格朗日插值

構造原理:當x=xk時a(xk)=yk;

快速傅利葉變換

複數與復平面

為了將數域擴大,引入虛數,詳情請見數學選修2-2。

尤拉公式

這個公式在fft中會用到。

多項式:n次多項式,->最高次為n-1,n個點可以確定唯一的n次多項式。

多項式求值:秦九韶演算法,o(n)的時間求出多項式的乙個點值表達。

多項式乘法:可以在n^2的時間內計算,這個比較簡單,兩個n次多項式可以乘出2n-1次多項式。

多項式加法:(x1,y1)(x1,y2)-> (x1,y1+y2)這個可以o(n)算。

如果我們已經知道了a和b的點值表達,我們可以在o(n)的時間算出c的點值表達。

圓周卷積:不會,留坑代填。

卷積定理:我們做兩個多項式的卷積(乘法)複雜度是n^2,如果我們把多項式轉成點值表達,再把點值表達加起來,在把點值表達用插值法轉成多項式,如果這三個步驟的複雜度都沒有超過n^2,那麼我們可以算是優化成功了。

在乙個xi上做點值運算的演算法叫dft(離散傅利葉變換)。

如果我們快速的完成所有xi的點值表達運算,時間複雜度為nlogn,這就是fft(快速傅利葉變換)。

離散傅利葉變換

n次單位根:滿足x^n=1的複數。

n次單位根恰好有n個,對於它們分別是e^2πki/n,k[0-n-1]。

理解一下就是把k個圓n等分。

k=1時的單位根為主n次單位根,記做wn,其他單位根可以看做wn的冪。

dft的特殊點指的就是n次單位根。

一遍dft可以求出a(wn0),a(wn1).....a(wnn-1)

設結果為f。

那麼我們最終還是需要知道係數表達,所以還需要插值運算。

可以用矩陣去驗證。

單位根的性質

第一條和第二條是最基本的,第三條就是根據尤拉公式(可以腦補復平面),第四條和第五條是折半引理。

這兩條是消去引理。

現在我們有了乙個長度為2的整數次冪的多項式。

然後我們可以把x的下標按照奇偶分組。

然後再按照上面的性質瞎搞一下。

我們成功的把問題的規模減小了一半。

然後我們就可以按照上面的方法一直分治下去。

注意我們是吧長度為l的區間分成兩半,一半為wk,一半為wk+2/n=-wk,所以算的時候加減注意一下。

蝴蝶操作

我們發現最後找出來的序列的下標和原來下標有一些神奇的聯絡。

於是我們可以o(n)算每個數的二進位制翻轉,然後可以迭代做了。

快速數論變換(ntt)

複數運算常數太大,如果我們找到乙個數論上的東西來代替wn,那麼我們可以完成在模意義下的fft了。

階與原根

x的階x^k=1(%p)。

p的原根:滿足x的階=p-1的最小的x,即為g。

g^(p-1)/n可以代替wn。

多項式全家桶

多項式求逆

利用倍增搞。

首先這個科技只能用於模意義下的,沒有模的是乙個無解的問題。

然後我們令b為在模2^(n-1)下的逆,b『為模2^n下的逆。

(b-b')=0(%2^(n-1))

(b-b')^2=0(%2^n)

b^2-2*b*b'+b'^2=0(%2^n)

ab^2-2*b+b'=0(%2^n)

b'=2*b-2*a*b^2(%2^n)

然後就倍增做

多項式ln

也就是我們要求乙個g函式

對兩邊求導,根據復合函式的求導方法,還有ln的導為1/x。

然後就求個導求個逆就可以算出g『

然後再用求導的逆過程給它還原回去,好像叫什麼不定積分。

多項式exp

這個東西還得用到什麼牛頓迭代之類的高階玩意,直接放個結論吧。

多項式開根

多項式除法 咕咕咕

多項式多點求值 咕咕咕

多項式快速插值 咕咕咕

學習筆記 多項式

給你n個點 x 1,y 1 x 2,y 2 求乙個n 1次的多項式 f x 求 f k 我們可以認為 f x f 1 x f 2 x f x 其中 f i x i y i 且 forall j neq i,f i x j 0 也就是說乙個點 x i 只在乙個函式中為 y i 其他函式中均為0 換言之...

學習筆記 多項式

把一直學不懂的各種大常數 o n log n 的神奇多項式演算法總結一下 證明什麼的比較簡略 還有我今天才知道預處理一下單位根會快很多 qwq 最沒用的乙個 首先我們能寫出乙個 o n 2 的暴力 這個你都不會就可以退役了 某位dalao題解中的 要確定乙個多項式,我們發現只要代 f 1 f 2 f...

多項式學習筆記

太菜了並不是很理解多項式,簡單記錄一下,緩慢更新吧 有問題問快速航 首先我們要求的柿子長這樣 c k sum a i b j 大概思路 先把兩個多項式轉成點值 dft 再把兩個多項式的點值乘在一起,把新的點值轉成多項式 idft 即可 首先要了解複數的運算 a b i c d i a c b d i...