拉格朗日插值
拉格朗日插值
首先,我们知道给出
问题:给出
首先,我们可以列出
实际上,我们有拉格朗日插值,可以在
构造多项式:
我们说明这个多项式其实就是
首先,
因此
这样,我们就可以在
注意:在写的时候不要求
在
我们定义:
那么,我们可以将
预处理
贴上代码:
#include<bits/stdc++.h>
#define mod 998244353
using namespace std;
int n;
long long k,x[2010],y[2010];
long long fastpow(long long x,int y){
long long ans=1;
while(y){
if(y&1) ans=(ans*x)%mod;
x=(x*x)%mod;
y>>=1;
}
return ans;
}
long long F(long long k){
long long ans=0,a,b;
for(int i=0;i<=n;i++){
a=1,b=1;
for(int j=0;j<=n;++j){
if(i==j) continue;
a=a*(k-x[j])%mod;
b=b*(x[i]-x[j])%mod;
}
a=y[i]*a%mod*fastpow(b,mod-2);
ans=(ans+a)%mod;
}
return (ans+mod)%mod;
}
int main()
{
scanf("%d%lld",&n,&k);--n;
for(int i=0;i<=n;i++) scanf("%lld%lld",&x[i],&y[i]);
printf("%lld",F(k));
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效