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;
}


相关文章
|
5月前
|
算法
二分 模板
二分的另一个板子
40 1
|
6月前
【洛谷 P1618】三连击(升级版)题解(循环枚举+全排列)
该编程题目要求将数字1到9分为三组,形成三个三位数,使得这三个数成比例A:B:C。输入为A、B、C的值,输出符合条件的三位数组合,按首个数字升序排列。样例输入为1 2 3,输出多组解。代码使用全排列遍历数字,检查比例关系。若无解,则输出&quot;No!!!&quot;。
69 0
|
6月前
|
人工智能 算法 BI
【洛谷 P1803】凌乱的yyy _ 线段覆盖 题解(贪心算法+结构体排序)
**线段覆盖问题**: YYY 想在 NOIP 前参加最多比赛。给定 $n$ 场比赛的开始和结束时间,每场比赛必须连续且不能冲突。输入包含每场比赛的时间段,输出最多可参加的比赛数。$20\%$ 数据 $n\leq10$,$50\%$ 数据 $n\leq10^3$,$100\%$ 数据 $n\leq10^6$。解决方案:按结束时间排序比赛,若当前比赛开始时间晚于上一个结束时间,则计数加一。样例输入:3 场比赛,输出:2。AC C++ 代码实现了此算法。
42 0
|
7月前
|
Python
{二分模板}
{二分模板}
28 0
|
7月前
|
算法 vr&ar 图形学
☆打卡算法☆LeetCode 167. 两数之和 II - 输入有序数组 算法解析
☆打卡算法☆LeetCode 167. 两数之和 II - 输入有序数组 算法解析
|
算法 Java C++
【洛谷算法题】B2025-输出字符菱形【入门1顺序结构】
【洛谷算法题】B2025-输出字符菱形【入门1顺序结构】
|
存储 缓存 算法
【手绘算法】力扣 2 两数相加(Add Two Numbers)
Hi,大家好,我是Tom。一个美术生转到Java开发的程序员。今天给大家分享的是力扣题第2题,求两数相加。在解题过程中,也会手写一些伪代码。当然,如果想要完整的源码的话,可以到我的个人主页简介中获取。 这道题属于中等难度,通过率只有42%。
87 0
洛谷—模板字典树 P8306
洛谷—模板字典树 P8306
90 0
|
机器学习/深度学习 算法 NoSQL
【基础算法】浅浅刷个小题 # 反转字符串 # 反转字符串 II # 三个数的最大乘积 #
【基础算法】浅浅刷个小题 # 反转字符串 # 反转字符串 II # 三个数的最大乘积 #
|
存储 算法
☆打卡算法☆LeetCode 2、两数相加 算法解析
“将两个链表中的数字组合成两个数,两个数相加,并返回一个相同格式的表示和的链表。”