洛谷傳送門
板題…注意一下求多個數的乘積的逆元不要乙個個快速冪求逆元,那樣很慢,時間複雜度就是o(n
2log
)o(n
2log
).直接先乘起來最後求一次逆元就行了.時間複雜度為o(n
log+
n2)=
o(n2
)o(n
log+
n2)=
o(n2
)這樣的拉格朗日插值是預處理o(n
2)o(
n2),插入o(n
)o(n
),查詢o(n
)o(n
)的.使用的前提是可以求逆元.
#include
#include
#include
using
namespace std;
template
<
typename t>
void
read
(t &num)
const
int maxn =
2005
;const
int mod =
998244353
;int n, k, x[maxn]
, y[maxn]
, w[maxn]
;inline
intqmul
(int a,
int b)
return res;
}inline
intl
(int k)
intmain()
int ans =0;
for(
int i =
0; i < n;
++i)
ans =
1ll* ans *
l(k)
% mod;
printf
("%d\n"
,(ans + mod)
% mod)
;}
Luogu P4781 模板 拉格朗日插值
洛谷傳送門 這是一道模板題 由小學知識可知,n nn 個點 xi yi x i,y i xi y i 可以唯一地確定乙個多項式 現在,給定 n nn 個點,請你確定這個多項式,並將 k kk 代入求值 求出的值對 998244353 998244353 998244 353 取模 輸入格式 第一行兩...
luogu P4781 模板 拉格朗日插值
嘟嘟嘟 本來以為拉格朗日插值是乙個很複雜的東西,今天學了一下才知道就是乙個公式 我們都知道 n 個點 x i,y i 可以確定唯一乙個最高次為 n 1 的多項式,那麼現在我們已知這 n 個點,求這個多項式代入 k 時的值。首先都能想到用高斯消元 o n 3 求出多項式,然後代入 k 但是這樣有點慢,...
P4781 模板 拉格朗日插值
拉格朗日插值是一種能夠根據n個點 x i,y i 求出對應多項式的方法 定義拉格朗日插值的基函式 l i 為 l i prod n fracy i 容易發現這個函式的特點就是當 x x i 時,y y i 其他時候 y 0 所以最後插值出來的多項式就是這n個基函式求和 恰好在每個 x i 處取到 y...