多項式從入門到入土

2022-04-02 15:13:12 字數 989 閱讀 7354

目錄開始了學習多項式禿頭的旅途

\(f(x)=\sum\limits_^y_i \prod\limits_ \frac\)

如果題目中要求直接求\(f(k)\)的話

可以直接用以下的公式(廢話)

\(f(k)=\sum\limits_^y_i \prod\limits_ \frac\)

見p4781 【模板】拉格朗日插值

在絕大多數題目中我們需要用到的\(x_i\)的取值都是連續的,這樣的話我們可以把上面的演算法優化到\(o(n)\)複雜度

那麼式子變成\(f(k)=\sum\limits_^y_i \prod \limits_ \frac\)

優化後面那一部分

記錄一下分子的字首積(\(pre_\))和字尾積(\(nex_\)),然後折半相乘

分子的話就是階乘\(fac[i]*fac[n-i]\)

\(update:\)這裡錯了,應該是\(fac[i-1]*fac[n-i]\),\(lgj\)學長的部落格裡面寫錯了

最後得到式子\(f(k)=\sum\limits_^y_i\frac*nex_}\)

注意分母的符號問題,當\(n-i\)是奇數時,應該是負號

見cf622f the sum of the k-th powers

設\(g=\prod\limits_^k-x_i\)

\[f(k)=g\sum\limits_^\prod \limits_ \frac

\]設\(t_i=\prod\limits_\frac\)

\[f(k)=g\sum\limits_^\frac

\]所有每次新加入乙個點的時候只需要計算它的\(t_i\)

題目難度按照由易到難排序

p4781 【模板】拉格朗日插值

cf622f the sum of the k-th powers

p4593 [tjoi2018]教科書般的褻瀆

\[\large \text

\]

Linux從入門到入土

在此開個專題,用來記錄一下在使用linux中常用的命令。持續更新 常見錯誤 dpkg i 檔名cmake dcmake install prefix usr include ar 解包 tar zxvf filename.tar 打包 tar czvf filename.tar dirname gz...

cmake 從入門到入土

你或許聽過好幾種 make 工具,例如 這些 make 工具遵循著不同的規範和標準,所執行的 makefile 格式也千差萬別。這樣就帶來了乙個嚴峻的問題 如果軟體想跨平台,必須要保證能夠在不同平台編譯。而如果使用上面的 make 工具,就得為每一種標準寫一次 makefile 這將是一件讓人抓狂的...

FFT 從入門到入土

fft 是一種可以在 o n log n 的時間複雜度內求解兩個多項式的乘積。實際上,fft 只是在求解方法上優化了 dft 離散傅利葉變換 的過程,並沒有提出新的理論。但是其高效的複雜度使得它被廣泛使用。就是使用乙個多項式的係數序列來表達這個多項式。f x sum a ix i leftright...