P4781 【模板】拉格朗日插值
NoteNoteNoteNote#
考虑构造函数
求多项式在某一位置的取值#
对于求,将带入即可,时间复杂度为
求多项式每一项的系数#
考虑将展开,时间复杂度的瓶颈在于求
先预处理出
所以,此时用朴素的多项式除法即可,时间复杂度仍为
CodeCodeCodeCode#
求多项式在某一位置的取值#
#include<cstdio>
#define LL long long
using namespace std;
const int P = 998244353;
int n; LL m,x[2005],y[2005];
LL fpow(int x,LL y)
{
LL res = 1;
for (; x; x >>= 1,y = y * y % P)
if (x & 1) res = res * y % P;
return res;
}
int main()
{
scanf("%d%lld",&n,&m);
for (int i = 1; i <= n; i++) scanf("%lld%lld",&x[i],&y[i]);
LL ans = 0;
for (int i = 1; i <= n; i++)
{
LL p = y[i],q = 1;
for (int j = 1; j <= n; j++)
if (j != i) p = p * (m - x[j]) % P,q = q * (x[i] - x[j]) % P;
p = (p + P) % P,q = (q + P) % P;
ans = (ans + p * fpow(P - 2,q) % P) % P;
}
printf("%lld\n",ans);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律