[Ynoi2013] 大学
题目描述
一个长为 $n$ 的**非负**整数序列 $a$,支持以下两个操作:
- `1 l r x`:把区间 $[l,r]$ 中所有 $x$ 的倍数除以 $x$。
- `2 l r`:查询区间 $[l,r]$ 的和。
本题强制在线,每次的 $l,r,x$ 需要 xor 上上次答案,如果之前没有询问,则上次答案为 $0$。
输入输出格式
输入格式
第一行两个整数表示 $n,m$。
第二行 $n$ 个非负整数表示 $a_i$。
之后 $m$ 行每行一个操作。
- `1 l r x`:把区间 $[l,r]$ 中所有 $x$ 的倍数除以 $x$。
- `2 l r`:查询区间 $[l,r]$ 的和。
输出格式
对于每次询问,输出一行一个整数表示答案。
输入输出样例
输入样例 #1
5 2
1 2 3 4 5
1 1 5 2
2 1 5
输出样例 #1
12
说明
$1\leq n,m\leq 10^5$,$0\leq a_i\leq 5\times 10^5$,解密后的 $x,l,r$ 满足 $1\leq x\leq 5\times 10^5$,$1\leq l\leq r\leq n$。
Idea:nzhtl1477
Solution:nzhtl1477
Code:nzhtl1477,mrsrz
Data:nzhtl1477,mrsrz