P10516 数据结构
题目背景
小 M 很喜欢数据结构。但是很遗憾,他没有进入省队。
人生有梦,各自精彩。
题目描述
给定两个长度为 $n$ 的序列 $a_i$ 和 $b_i$。有以下三种操作:
1. 给定区间 $[l,r]$ 以及参数 $k,t$,把区间内满足 $a_i\times b_i\leq k$ 的位置的 $a_i$ 和 $b_i$ 分别加上 $t$。
2. 给定 $i$ 和 $x,y$,将 $a_i$ 改为 $x$,$b_i$ 改为 $y$。
3. 查询区间内每个位置 $a_i+b_i$ 的和。
输入格式
第一行包含两个整数 $n,m$,分别表示该数列数字的个数和操作的总个数。
第二行包含 $n$ 个用空格分隔的整数,其中第 $i$ 个数字表示 $a_i$。
第三行包含 $n$ 个用空格分隔的整数,其中第 $i$ 个数字表示 $b_i$。
接下来 $m$ 行每行包含 $3$ 到 $5$ 个整数,表示一个操作,具体如下:
1. `1 l r k t`:将区间 $[l,r]$ 进行一操作。
2. `2 i x y`:将 $a_i$ 改为 $x$,$b_i$ 改为 $y$。
3. `3 l r`:输出区间 $[l,r]$ 内每个数的和。
输出格式
若干行,每行表示操作 $3$ 的答案。
说明/提示
**【样例解释】**
第一次修改后,序列 $a_i$ 为:$\left\{23,4,4,4,8\right\}$;序列 $b_i$ 为 $\left\{54,29,8,2,3\right\}$。
第二次修改后,序列 $a_i$ 为:$\left\{23,7,4,4,8\right\}$;序列 $b_i$ 为 $\left\{54,9,8,2,3\right\}$。
**【数据范围】**
- 对于 $5\%$ 的数据,$n,m\le 5$;
- 对于 $10\%$ 的数据,$n,m\leq 100$;
- 对于 $25\%$ 的数据,$n,m\leq 5000$;
- 对于另外 $5\%$ 的数据,没有前两种操作;
- 对于另外 $10\%$ 的数据,没有第一种操作;
- 对于另外 $20\%$ 的数据,没有第二种操作;
对于所有数据,$1\leq n,m\leq 10^5$,$0\leq a_i,b_i,k,t,x,y\leq10^5$。