当前位置: 首页 > news >正文

MC0457符咒封印

码蹄集OJ-符咒封印

题目
”我会给你q次询问,每次询问给你两个参数l和r,你需要计算出1×al+2×al+1…+(r-l+1)×ar的和。如果答案很大,你只需要算出其对998244353取模的结果。若你能算出正确结果,便可解封符咒,助你们通过火焰山。”

输入格式:第一行两个整数n,g(1<n,q≤5x1e5)。
第二行n个整数a1~an(1<ai<1e9)。
接下来q行,每行两个整数l,r(1<l<r<n),表示q组询问。
输出格式:输出q行,表示对于每次询问的答案。

样例 1

输入:

3 1
3 2 1
2 3

复制

输出:

4

复制

本题相关知识点: 算法基础:前缀和 | 差分

代码:
 

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 5*1e5+10;
const int mod = 998244353;
int n, q;
ll a[N]; 
int main(void)
{cin >> n >> q; for(int i = 1; i <= n; i++)cin >> a[i];// 预处理前缀和数组vector<ll> sum1(n+1, 0); vector<ll> sum2(n+1, 0); for(int i = 1; i <= n; i++) {sum1[i] = (sum1[i-1] + a[i]) % mod;sum2[i] = (sum2[i-1] + (i+1) * a[i] % mod) % mod;}while(q--) {int l, r;cin >> l >> r;ll s1 = (sum1[r] - sum1[l-1] + mod) % mod;ll s2 = (sum2[r] - sum2[l-1] + mod) % mod;ll ans = (s2 - l * s1 % mod + mod) % mod;cout << ans << endl;}return 0;
}

http://www.xdnf.cn/news/1143901.html

相关文章:

  • Ansible + Shell 服务器巡检脚本
  • mysql not in 查询引发的bug问题记录
  • pycharm结构查看器
  • 2.3 前端-ts的接口以及自定义类型
  • 哪个厂家生产的戒烟药好:从机制到体验的差异化博弈
  • MySQL 插入时间 更新时间
  • 推荐 1 款 4.5k stars 的AI 大模型驱动的开源知识库搭建系统
  • 跨域问题及解决方案
  • AI(day10)模块化编程概念(模块、包、导入)及常见系统模块总结和第三方模块管理
  • Java Web项目Dump文件分析指南
  • LLM(Large Language Model)大规模语言模型浅析
  • 在 Jenkins 中使用 SSH 部署密钥
  • 游戏盾能否保护业务免受DDoS攻击吗?
  • C语言基础:数组练习题
  • 服务器内存满了怎么清理缓存?
  • 【C++】——类和对象(中)——默认成员函数
  • 前端基础——B/S工作原理、服务器与前端三大件
  • 【Docker】在Linux环境下使用Dockerfile打包镜像(图文示例)
  • 完整的 Meteor NPM 集成
  • 6 种无线传输照片从安卓到 Mac 的方法
  • UDP 协议下一发一收通信程序的实现与解析
  • 防爆手机是什么?能用普通手机改装吗?
  • 免费PDF文件格式转换工具
  • FastAdmin框架超级管理员密码重置与常规admin安全机制解析-卓伊凡|大东家
  • python学智能算法(二十三)|SVM-几何距离
  • react控制react Popover组件显示隐藏
  • 【怜渠客】简单实现手机云控Windows电脑锁屏
  • 力扣面试150(33/150)
  • pytest + requests 接口自动化测试框架
  • UE 一些基础的python