插值
参考资料
拉格朗日插值
由 个横坐标互不相同的点 可唯一确定一个不超过 次的多项式 。拉格朗日插值为每个点构造一个在 处取 、在其余 处取 的基函数,乘以 后求和即得 ,可直接代入求任意点的值。求单点值的时间复杂度为 。
ll lagrange(int n,int k)
{
ll ans=0;
for(int i=1;i<=n;i++)
{
ll p=1,q=1;
for(int j=1;j<=n;j++)
{
if(i==j)continue;
p=p*(k-x[j])%mod;
q=q*(x[i]-x[j])%mod;
}
ans=(ans+y[i]*(p*Pow(q,mod-2)%mod)%mod)%mod;
}
return (ans+mod)%mod;
}