拉格朗日插值法,給出 \(n+1\) 個點對,可以 \(o(n^2)\) 求出乙個 \(n\) 次多項式的值
我們當前有\(n+1\)個點對,\(x_i,y_i\) , 代表 \(f(x_i)=y_i\)
給出 \(k\) 求 \(f(k)\)
公式為 \(\sum\limits_^ny_i*\prod\limits_ \frac \)
帶入 \(x_i\) 則 \(y_i*\prod\limits_\frac =y_i*1\)
設 \(t~!=i\) 則 \(\prod\limits_\frac \) 中一定有 \(\frac=0\) 所以 \(\prod\limits_\frac =0\)
因此 當 \(k=x_i\) 時 \(\sum\limits_^ny_i*\prod\limits_ \frac = y_i\)
當 \(x_i\) 連續 則公式變為 \(\sum\limits_^ny_i*\prod\limits_ \frac \) , 我們可以將它優化到 \(o(n)\)
設 \(pre_i= \prod\limits_^ik-j\) , \(suf_i= \prod\limits_^nk-j,fac_i=i ~!\)
則 \(f(k)=\sum\limits_^n y_i* \dfrac*suf_}*(-1^)}\)
將 \(fac_i*fac_* -1^\)
線性求逆元 即可做到 \(o(n)\)
總結 拉格朗日差值
傳送門 拉格朗日差值其實很簡單,而且證明也很明顯。雖然聯賽不一定會考這個東西,但是還是要寫一下總結。大致的公式就是 sum ny i prod n frac j i 證明也不難,然後如果x是連續的話可以字首字尾積一下。include include define ll long long const...
二分查詢與拉格朗日差值查詢
一 我們先寫乙個主方法 二分查詢時間複雜度 假使總共有n個元素,那麼二分後每次查詢的區間大小就是n,n 2,n 4,n 2 k 接下來操作元素的剩餘個數 其中k就是迴圈的次數。最壞的情況是k次二分之後,每個區間的大小為1,找到想要的元素 令n 2 k 1,可得k log2n,是以2為底,n的對數 所...
拉格朗日插值與拉格朗日反演
模板 拉格朗日插值 拉格朗日插值法 f x sum limits 我們先把右邊那部分提出來看 ell x prod x x cdots x x cdots x 舉個例子吧 有二次函式上的三點 f 4 10,f 5 5.25,f 6 1 求 f 18 求出三個基本式 ell x ell x ell x...