問題:給出\(n\)個點\(p_(x_i,y_i)\),將過這\(n\)個點的最多\(n-1\)次的多項式記為\(f(x)\),求\(f(k)\)的值。
普通做法:\(o(n^2 + n^3 + n)\)列方程 + 高斯消元求解 + 秦玖韶演算法求值
時間複雜度**,還不好寫
接下來說說拉格朗日插值
拉格朗日插值
數學上來說,拉格朗日插值法可以給出乙個恰好穿過二維平面上若干個已知點的多項式函式。
\[f(x) = y_1f_1(x_1) + y_2f_2(x_2) + y_3f_3(x_3)
\]可以穿過這三個點
\]於是$$f(x) = \sum_^y_if_i(x)$$
更一般的:
\[f(x) = \sum_^y_if_i(x)
\]這就是拉格朗日插值的一般形式
3. 放一下**
借用了知乎答主的回答和**,他講的實在太好#includeusing namespace std;
const int n = 1e4;
const int mod = 998244353;
int n,k;
int x[n],y[n];
int fastmi(int a,int b)
a = (long long)a * a % mod;
} return ans;
}int main()
long long ans = 0;
for(int i = 1;i <= n;i ++ )
}ans = (1ll * ans + 1ll * y[i] * s1 % mod * fastmi(s2,mod - 2) % mod) % mod;
} cout << (ans + mod) % mod << endl;
return 0;
}
拉格朗日插值
拉格朗日插值基函式 li x x x 0 x xi 1 x xi 1 x x n x i x0 xi xi 1 xi xi 1 xi xn 拉格朗日差值函式 ln x i 0 nyil i x 其中,x為缺失值對應的下表序號,ln x 為缺失值的插值結果,xi 為缺失值yi 的下表序號。對全部缺失值...
拉格朗日插值
function s larg1 x,y,xi m length x 求出插值節點向量長度 n length y if m n error 向量x與y的長度必須一致 這裡肯定一致,只是為了消除直接選取x,y資料的時候出錯而設定的 end s 0 for i 1 n z ones 1,length x...
拉格朗日插值
存在性和唯一性的證明以後再補。拉格朗日插值,emmmm,名字挺高階的 joy 它有什麼應用呢?我們在fft中講到過 設 n 1 次多項式為 y sum a i x i 有乙個顯然的結論 如果給定 n 個互不相同的點 x,y 則該 n 1 次多項式被唯一確定 那麼如果給定了這互不相同的 n 個點,利用...