Processing math: 100%
祝同学们学习进步,编程快乐!

Problem F: F序列操作

"
Time Limit 1 秒/Second(s) Memory Limit 128 兆字节/Megabyte(s)
提交总数 0 正确数量 5
裁判形式 标准裁判/Standard Judge 我的状态 尚未尝试
难度 分类标签
淮北市布局新能源汽车产业,为了吸引用户电动汽车厂商希望为后排屏幕设计新的益智游戏。经过讨论,确定游戏的核心玩法,现需要测试其可行性。
对于给定的数列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 ≤ 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。

AOJ
祝同学们学习进步,编程快乐!