1706: 序列操作
金币值:2
定数:1
时间限制:1.000 s
内存限制:128 M
正确:1
提交:1
正确率:100.00% 命题人:
题目描述
淮北市布局新能源汽车产业,为了吸引用户电动汽车厂商希望为后排屏幕设计新的益智游戏。经过讨论,确定游戏的核心玩法,现需要测试其可行性。
对于给定的数列a,你需要按顺序完成一系列操作。
共有三种不同的操作:
1. 给出I,r,询问( ∑ai ) mod 998244353 的值;
2.给出l,r,v,对所有i = [l,r],将ai 修改为 ai/gcd(ai,v))
3. 给出l,v,将al,修改为al*gcd(al,v)。
其中,gcd(a,b)表示a,b的最大公因数。
对于给定的数列a,你需要按顺序完成一系列操作。
共有三种不同的操作:
1. 给出I,r,询问( ∑ai ) mod 998244353 的值;
2.给出l,r,v,对所有i = [l,r],将ai 修改为 ai/gcd(ai,v))
3. 给出l,v,将al,修改为al*gcd(al,v)。
其中,gcd(a,b)表示a,b的最大公因数。
输入格式
输入的第1行包含2个整数n,q,分别表示数列a的长度和操作次数。
接下来1行,包含n个整数,第i个整数表示ai。
接下来q行,每行包含3或4个整数,描述一次操作。第1个整数op表示操作类型。
.若op=1,后续2个整数l,r,表示进行操作1;
.若op=2,后续3个整数l,r,v. 表示进行操作2;
.若op=3,后续2个整数l,v,表示进行操作3。
上述操作及参数的含义见题目描述。
输出格式
对每次1类操作输出1行1个整数,表示对应的那次询问的答案。
输入样例 复制
4 4
42 525 750 64000
1 1 2
2 1 4 210
3 1 28
1 1 4
输出样例 复制
567
6431
提示
·1≤n,q≤2x1e5
·1≤l≤r≤n
·1≤l≤r≤n
·1 ≤ ai,v ≤ 1e7
1.询问(a1+a2)mod 998244353,输出567;
2.对整个数列进行2类操作,v=210,操作后数列为1,5,25,6400;
3.将a=1改成1 * gcd(1,28)=1,操作后数列为1,5,25,6400;
4.询问整个数列的和,输出6431。