社区讨论
求助重心拉格朗日插值
学术版参与者 1已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mjdwwbyu
- 此快照首次捕获于
- 2025/12/20 14:23 2 个月前
- 此快照最后确认于
- 2025/12/22 12:35 2 个月前
在模数为 1e9 级别会去死,不知道为啥。
CPP#define int long long
struct Murasame{
int n,x[220],y[220],w[220];
void operator ()(){
n=0;
}
int operator ()(int X){
int up=0,dw=0;
for(int i=1;i<=n;i++){
if(x[i]==X) return y[i];
up=(up+w[i]*inv(X-x[i])%mod)%mod;
dw=(dw+w[i]*inv(X-x[i])%mod*inv(y[i])%mod)%mod;
}
return (up*inv(dw)%mod+mod)%mod;
}
void operator ()(int fi,int se){
x[++n]=fi;
y[ n]=se;
}
void init(){
for(int i=1;i<=n;i++){
int up=y[i],dw=1;
for(int j=1;j<=n;j++){
if(j==i) continue;
dw=dw*(x[i]-x[j])%mod;
}
w[i]=(up*inv(dw)%mod+mod)%mod;
}
}
};
回复
共 1 条回复,欢迎继续交流。
正在加载回复...