题目 30030

双端队列(带全体复合操作)

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

【题目描述】

有一个初始为空的线性函数序列 f=()f = ()。请处理 QQ 个查询。

  • 0 $a$ $b$:将线性函数 λx.ax+b\lambda x. ax + b 添加到序列 ff 的开头。
  • 1 $a$ $b$:将线性函数 λx.ax+b\lambda x. ax + b 添加到序列 ff 的末尾。
  • 2:删除序列 ff 开头的线性函数。
  • 3:删除序列 ff 末尾的线性函数。
  • 4 $x$:设 f=(fl,…,fr−1)f = (f_{l}, \dots, f_{r - 1}),输出 fr−1(fr−2(…(fl(x))… )) mod 998244353f _ {r - 1}(f _ {r - 2}(\dots (f _ l(x)) \dots)) \bmod 998244353。当 f=()f = () 时输出 xx。

【输入】

输入格式如下:

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

【输出】

对于每个类型为 4 的查询,输出一行一个整数,表示按照题意复合后的函数值。

【输入样例】

文本
6
1 4 5
4 3
0 2 1
4 2
3
4 3

【输出样例】

文本
17
25
7

【输入样例2】

文本
1
4 1333

【输出样例2】

文本
1333

【数据范围】

  • 1≤Q≤500,0001 \leq Q \leq 500,000
  • 1≤a<9982443531 \leq a \lt 998244353
  • 0≤b,x<9982443530 \leq b, x \lt 998244353
  • 当查询 2 或查询 3 出现时,序列 ff 非空。

【来源】

Library Checker(yosupo06) deque_operate_all_composite

数据下载

题目 30030 的公开数据

正在读取文件列表…

常用命令

题目 30030 的 ROJ 命令

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