U582051 区间加区间gcd

题目背景

模板题,无背景

题目描述

给定一个长度为nn的序列a1,a2,.....an{a_1,a_2,.....a_n}
给出qq次操作,分为以下两种:
1 l r x:给序列中区间[l,r][l,r]中的所有元素加xx
2 l r:询问区间[l,r][l,r]中所有元素的gcdgcd(最大公约数)

输入格式

第一行,两个整数n,qn,q
第二行,nn个正数a1,a2,......ana_1,a_2,......a_n
接下来qq行,每行一次操作有以下两种:
1 l r x:给序列中区间[l,r][l,r]中的所有元素加xx
2 l r:询问区间[l,r][l,r]中所有元素的gcdgcd(最大公约数)

输出格式

对于每一次询问,输出答案,每行一个整数

输入输出样例 #1

输入 #1

7 2 
1 2 3 4 5 6 7 
1 2 4 1 
2 3 5

输出 #1

1

说明/提示

1l<rn3×1051 \le l \lt r \le n \le 3 \times 10 ^5
1q1051 \le q \le 10^5
1ai,x10101 \le a_i,x \le 10^{10}

U583518 单点赋值区间询问有重

题目背景

模板题,无背景
2025/7/19 出题人注:数据有误,已修改

题目描述

给定一个长度为nn的序列a1,a2,.....an{a_1,a_2,.....a_n}
给出qq次操作,分为以下两种:
1 p x:给序列编号为pcntp \oplus cnt的元素赋值为xx
2 l r:询问区间[lcnt,rcnt][l\oplus cnt,r\oplus cnt]中是否存在重复元素
cntcnt表示在此之前输出"Yes"的数量

输入格式

第一行,两个整数n,qn,q
第二行,nn个正数a1,a2,......ana_1,a_2,......a_n
接下来qq行,每行一次操作有以下两种:
1 p x:给序列编号为pcntp \oplus cnt的元素赋值为xx
2 l r:询问区间[lcnt,rcnt][l\oplus cnt,r\oplus cnt]中是否存在重复元素
cntcnt表示在此之前输出"Yes"的数量

输出格式

对于每一次询问,输出答案,每行一个整数

输入输出样例 #1

输入 #1

6 3
1 1 4 5 1 4
2 2 3
1 3 1
2 2 3

输出 #1

No
Yes

说明/提示

1l<rn3×1051 \le l \lt r \le n \le 3 \times 10 ^5
1pn1 \le p \le n
1q1051 \le q \le 10^5
1ai,x10101 \le a_i,x \le 10^{10}

U584560 区间加区间乘积和

题目背景

模板题,无背景

题目描述

给定一个长度为nn的序列a1,a2,.....an{a_1,a_2,.....a_n}
给出qq次操作,分为以下两种:
1 l r x:给序列中区间[l,r][l,r]中的所有元素加xx
2 l r:求出li<jrai×aj\sum\limits_{l\le i \lt j \le r} a_i \times a_j
答案对109+710^9+7取模

输入格式

第一行,两个整数n,qn,q
第二行,nn个正数a1,a2,......ana_1,a_2,......a_n
接下来qq行,每行一次操作有以下两种:
1 l r x:给序列中区间[l,r][l,r]中的所有元素加xx
2 l r:求出li<jrai×aj\sum\limits_{l\le i \lt j \le r} a_i \times a_j

输出格式

对于每次询问,输出答案

输入输出样例 #1

输入 #1

5 4
1 2 3 4 5 
1 2 4 1
2 1 2
2 2 3
2 2 4

输出 #1

3
12
47

说明/提示

1l<rn3×1051 \le l \lt r \le n \le 3 \times 10 ^5
1q1051 \le q \le 10^5
1ai,x1091 \le a_i,x \le 10^9