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$。