SP6377 SAMTWARR - Two Array Problem
题目描述
有两个长度都为 $N$($1 \le N \le 10^5$)的数组,第一个编号为 $0$,第二个编号为 $1$。数组的下标从 $0$ 开始。最开始元素全都是 $0$。
有 $M$($1 \le M \le 10^5$)次操作,每次操作为以下三种中的一种:
1. $0\ a\ l\ r$:输出编号为 $a$ 的数组中下标从 $l$ 到 $r$ 的所有元素之和。设 $k$ 为编号为 $a$ 的数组,要输出的是 $\sum^{r}_{i=l}k_i$。
2. $1\ a\ i\ v$:将编号为 $a$ 的数组中下标为 $i$ 的元素更改为 $v$。
3. $2\ l\ r$:将两个数组中下标从 $l$ 到 $r$ 的元素交换。设两个数组分别为 $a$ 和 $b$,交换 $a_l$ 与 $b_l$,$a_{l+1}$ 与 $b_{l+1}$,$\cdots$,$a_r$ 与 $b_r$。
接下来 $M$ 行,每行代表一个操作,具体是什么操作由第一个数决定,将其称为 $c$:
- $c = 0$:接下来有三个整数 $a, l, r$,$0 \le a \le 1$,$0 \le l \le r \le N-1$。
- $c = 1$:接下来有三个整数 $a, i, v$,$0 \le a \le 1$,$0 \le i \le N-1$,$-10000 \le v \le 10000$。
- $c = 2$:接下来有两个整数 $l, r$,$0 \le l, r \le N-1$。
输入格式
The first line of input contains two integers - N, M. The folowing M lines contains information about queries.
On each query - one line:
First integer number cmd contains 0, 1 or 2 (type of query described above).
if cmd equals 0, then following 3 integers arr, left, right - 0
输出格式
On each query with cmd equals 0 you should output corresponding value described above.