{"problem":{"name":"数据结构","description":{"content":"给定两个长度为 $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$ 的和。","description_type":"Markdown"},"platform":"Luogu","limit":{"time_limit":2000,"memory_limit":524288},"difficulty":{"LuoguStyle":"P5"},"is_remote":true,"is_sync":true,"sync_url":null,"sign":"LGP10516"},"statements":[{"statement_type":"Markdown","content":"给定两个长度为 $n$ 的序列 $a_i$ 和 $b_i$。有以下三种操作：\n\n1. 给定区间 $[l,r]$ 以及参数 $k,t$，把区间内满足 $a_i\\times b_i\\leq k$ 的位置的 $a_i$ 和 $b_i$ 分别加上 $t$。\n2. 给定 $i$ 和 $x,y$，将 $a_i$ 改为 $x$，$b_i$ 改为 $y$。\n3. 查询区间内每个位置 $a_i+b_i$ 的和。\n\n## Input\n\n第一行包含两个整数 $n,m$，分别表示该数列数字的个数和操作的总个数。\n\n第二行包含 $n$ 个用空格分隔的整数，其中第 $i$ 个数字表示 $a_i$。\n\n第三行包含 $n$ 个用空格分隔的整数，其中第 $i$ 个数字表示 $b_i$。\n\n接下来 $m$ 行每行包含 $3$ 到 $5$ 个整数，表示一个操作，具体如下：\n\n1. `1 l r k t`：将区间 $[l,r]$ 进行一操作。\n2. `2 i x y`：将 $a_i$ 改为 $x$，$b_i$ 改为 $y$。\n3. `3 l r`：输出区间 $[l,r]$ 内每个数的和。\n\n## Output\n\n若干行，每行表示操作 $3$ 的答案。\n\n[samples]\n\n## Background\n\n小 M 很喜欢数据结构。但是很遗憾，他没有进入省队。\n\n人生有梦，各自精彩。\n\n## Note\n\n**【样例解释】**\n\n第一次修改后，序列 $a_i$ 为：$\\left\\{23,4,4,4,8\\right\\}$；序列 $b_i$ 为 $\\left\\{54,29,8,2,3\\right\\}$。\n\n第二次修改后，序列 $a_i$ 为：$\\left\\{23,7,4,4,8\\right\\}$；序列 $b_i$ 为 $\\left\\{54,9,8,2,3\\right\\}$。\n\n**【数据范围】**\n\n- 对于 $5\\%$ 的数据，$n,m\\le 5$；\n- 对于 $10\\%$ 的数据，$n,m\\leq 100$；\n- 对于 $25\\%$ 的数据，$n,m\\leq 5000$；\n- 对于另外 $5\\%$ 的数据，没有前两种操作；\n- 对于另外 $10\\%$ 的数据，没有第一种操作；\n- 对于另外 $20\\%$ 的数据，没有第二种操作；\n\n对于所有数据，$1\\leq n,m\\leq 10^5$，$0\\leq a_i,b_i,k,t,x,y\\leq10^5$。","is_translate":false,"language":"English"}],"meta":{"iden":"LGP10516","tags":["线段树","洛谷原创","O2优化","洛谷月赛"],"sample_group":[["5 5\n23 4 3 3 7\n54 29 7 1 2\n1 1 5 114 1\n2 2 7 9\n3 1 5\n3 1 2\n3 3 4","122\n93\n18"]],"created_at":"2026-03-03 11:09:25"}}