P5610 [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\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,一只绝帆