luogu P4781 【模板】拉格朗日插

简介: luogu P4781 【模板】拉格朗日插

由小学知识可知,n个点(xi,yi)可以唯一地确定一个多项式

现在,给定n个点,请你确定这个多项式,并将k代入求值

求出的值对998244353取模5.png

#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 5;
typedef long long ll;
const ll mod = 998244353;
ll xx[maxn], yy[maxn];
ll qpow(ll a, ll b) {
    ll ans = 1;
    while (b) {
        if (b & 1) {
            ans = (ans * a) % mod;
        }
        b >>= 1;
        a = (a * a) % mod;
    }
    return ans % mod;
}
int main() {
    ll n, k;
    cin >> n >> k;
    for (int i = 1; i <= n; i++) {
        cin >> xx[i] >> yy[i];
    }
    ll ans = 0;
    for (int i = 1; i <= n; i++) {
        ll ret = 1, res = 1;
        for (int j = 1; j <= n; j++) {
            if (i == j)continue;
            ret *= (k - xx[j]);
            res *= (xx[i] - xx[j]);
            ret = (ret % mod + mod) % mod; 
            res = (res % mod + mod) % mod;
        }
        ll tmp = qpow(res, mod - 2);
        ans += yy[i] * tmp % mod * ret % mod;
        ans %= mod;
    }
    cout << ans << endl;
    return 0;
}


相关文章
|
1月前
lanqiao OJ 110 合根植物
lanqiao OJ 110 合根植物
10 0
|
1月前
lanqiao OJ 网络寻路
lanqiao OJ 网络寻路
23 0
|
5月前
【洛谷 P1563】[NOIP2016 提高组] 玩具谜题(模拟+结构体数组+指针)
**摘要:** NOIP2016提高组的玩具谜题是一个编程挑战,涉及理解玩具小人在圆圈中的相对位置。题目要求解决一系列基于小人朝向(内或外)的左右数指令,来找到最终目标小人。输入包含小人数量、指令数、每个小人的朝向和职业,以及指令详情。输出是最后到达的小人的职业。给定的AC代码使用指针模拟环状数组,通过按位异或判断朝向来移动指针。样例展示了问题的解决过程。子任务有不同的数据规模和限制条件。
56 0
|
5月前
|
存储
【洛谷 P2437】蜜蜂路线 题解(递归+记忆化搜索+高精度)
蜜蜂路线问题:蜜蜂从蜂房$m$到$n$($m&lt;n$)按数字递增爬行。给定$m$和$n$,求路线数。示例:$m=1$,$n=14$,输出$377$。100%数据$1\leq m,n\leq1000$。使用斐波那契序列优化,高精度处理大数。代码实现斐波那契存储并动态规划求解。
91 0
|
6月前
|
图计算
【每日一题Day274】LC42接雨水 | 单调栈
【每日一题Day274】LC42接雨水 | 单调栈
49 0
|
6月前
【每日一题Day338】LC2582递枕头 | 模拟+数学
【每日一题Day338】LC2582递枕头 | 模拟+数学
29 0
洛谷—模板字典树 P8306
洛谷—模板字典树 P8306
87 0
|
算法 C语言
PTA 数据结构与算法题目集(中文)6-1 单链表逆转(20)
L是给定单链表,函数Reverse要返回被逆转后的链表。 裁判测试程序样例:
114 0
|
C语言
【蓝桥OJ—C语言】高斯日记、马虎的算式、第39级台阶
在高斯发现的一个重要定理的日记上标注着:5343,因此可算出那天是:1791 年 12 月 15 日。高斯获得博士学位的那天日记上标着:8113。
|
C++
蓝桥杯练习题十一 - 乘积尾零(c++)
蓝桥杯练习题十一 - 乘积尾零(c++)
115 0
蓝桥杯练习题十一 - 乘积尾零(c++)