AT_abc357_f [ABC357F] Two Sequence Queries
题目描述
给定长度为 $N$ 的数列 $A=(A_1,A_2,\ldots,A_N)$,$B=(B_1,B_2,\ldots,B_N)$。
有 $Q$ 个查询,请依次处理这些查询。
查询有以下 $3$ 种类型:
- `1 l r x` :将 $x$ 加到 $A_l,A_{l+1},\ldots,A_r$ 上。
- `2 l r x` :将 $x$ 加到 $B_l,B_{l+1},\ldots,B_r$ 上。
- `3 l r` :输出 $\displaystyle\sum_{i=l}^r (A_i\times B_i)$ 除以 $998244353$ 的余数。
输入格式
输入以如下格式从标准输入给出。这里,$\mathrm{query}_i$ $(1\leq i\leq Q)$ 表示第 $i$ 个要处理的查询。
> $N$ $Q$ $A_1$ $A_2$ $\ldots$ $A_N$ $B_1$ $B_2$ $\ldots$ $B_N$
> $\mathrm{query}_1$
> $\mathrm{query}_2$
> $\vdots$
> $\mathrm{query}_Q$
每个查询有以下几种格式之一:
> $1$ $l$ $r$ $x$
> $2$ $l$ $r$ $x$
> $3$ $l$ $r$
输出格式
若有 $K$ 个第 $3$ 种类型的查询,则输出 $K$ 行。
第 $i$ 行($1\leq i\leq K$)输出第 $i$ 个第 $3$ 种类型查询的答案。
说明/提示
### 数据范围
- $1\leq N,Q\leq 2\times 10^5$
- $0\leq A_i,B_i\leq 10^9$
- $1\leq l\leq r\leq N$
- $1\leq x\leq 10^9$
- 输入均为整数
- 至少存在一个第 $3$ 种类型的查询
### 样例解释 1
初始时,$A=(1,3,5,6,8)$,$B=(3,1,2,1,2)$。查询按如下顺序处理:
- 第 $1$ 个查询,输出 $(1\times 3)+(3\times 1)+(5\times 2)=16$,对 $998244353$ 取余为 $16$。
- 第 $2$ 个查询,将 $3$ 加到 $A_2,A_3,A_4,A_5$ 上。$A=(1,6,8,9,11)$。
- 第 $3$ 个查询,输出 $(1\times 3)+(6\times 1)+(8\times 2)=25$,对 $998244353$ 取余为 $25$。
- 第 $4$ 个查询,将 $1$ 加到 $A_1,A_2,A_3$ 上。$A=(2,7,9,9,11)$。
- 第 $5$ 个查询,将 $2$ 加到 $B_5$ 上。$B=(3,1,2,1,4)$。
- 第 $6$ 个查询,输出 $(2\times 3)+(7\times 1)+(9\times 2)+(9\times 1)+(11\times 4)=84$,对 $998244353$ 取余为 $84$。
因此,第 $1$、$2$、$3$ 行分别输出 $16$、$25$、$84$。
### 样例解释 2
请注意,第 $3$ 种类型的查询需要对 $998244353$ 取余。
由 ChatGPT 4.1 翻译