题目 30050

区间仿射区间求和(大数组)

查看题解 ↗GitHub ↗如何评测
题号
30050
时间限制
10000 ms
内存限制
1024 MB
标签
数据结构
来源
Library Checker (yosupo06) - range_affine_range_sum_large_array

【题目描述】

给定一个大小为 NN 的整数序列 a0,a1,…,aN−1a_0, a_1, \dots, a_{N - 1}。初始时对所有 ii 都有 ai=0a_i = 0。 请依次处理 QQ 个查询:

  • 0 $l$ $r$ $b$ $c$:对每个 i=l,l+1,…,r−1i = l, l+1, \dots, {r - 1},执行 ai←b×ai+ca_i \gets b \times a_i + c。
  • 1 $l$ $r$:输出 ∑i=lr−1ai mod 998244353\sum_{i = l}^{r - 1} a_i \bmod 998244353。

【输入】

文本
$N$ $Q$
$\textrm{Query}_0$
$\textrm{Query}_1$
:
$\textrm{Query}_{Q - 1}$

【输出】

对每个 1 $l$ $r$ 查询,输出一行一个整数,表示 ∑i=lr−1ai mod 998244353\sum_{i = l}^{r - 1} a_i \bmod 998244353。

【输入样例】

文本
1000000000 6
0 0 100 10 1
1 10 90
1 0 1000000000
0 50 10000 10 1
1 10 90
1 0 1000000000

【输出样例】

文本
80
100
480
10500

【数据范围】

  • 1≤N≤10000000001 \leq N \leq 1000000000
  • 1≤Q≤1000001 \leq Q \leq 100000
  • 0≤l<r≤N0 \leq l < r \leq N
  • 1≤b<9982443531 \leq b < 998244353
  • 0≤c<9982443530 \leq c < 998244353

【来源】

Library Checker(yosupo06) range_affine_range_sum_large_array

数据下载

题目 30050 的公开数据

正在读取文件列表…

常用命令

题目 30050 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。