luogu#P11527. [THUPC2025 初赛] waht 先生的法阵

[THUPC2025 初赛] waht 先生的法阵

题目背景

由于洛谷评测机太慢,4s5s4s\to 5s

题目描述

waht 先生是一名法力强大的魔法师。

waht 先生为了增强自己的法力,设置了一个法阵。这个法阵中共有 nn 块魔法石,它们从左到右依次排成一列;并且从左数第 ii 块魔法石的编号为 ii,其法力值初始为 aia_i

waht 先生可以获取一些魔法石的法力。然而由于这个法阵的特殊性质,在获取法力时,waht 先生必须先选择一块魔法石;并且一旦第 xx 块魔法石被选,接下来必须再选第 x+gcd(x,ax)x+\gcd(x,a_x) 块魔法石(这里 gcd(x,y)\gcd(x,y) 表示 x,yx,y 的最大公约数),直到 x+gcd(x,ax)>nx+\gcd (x,a_x)>n 时 waht 先生会立即停止本次法力获取的过程。waht 先生获取的法力将会是过程中所选的所有魔法石的法力值之和。

waht 先生会对这个法阵进行 qq 次操作。具体的,有以下两类操作:

  • waht 先生选择两个数 l,r  (1lrn)l,r\;(1\leq l\leq r\leq n),对区间 [l,r][l,r] 中的所有魔法石施加法术,使得它们的法力值全部乘以 cc。具体的,对于所有满足 lirl\leq i\leq rii,将 aia_i 的值修改为 caic\cdot a_i
  • waht 先生选择第 xx 块魔法石,并按照上述的规则获取法力。

每当 waht 先生选择某一块魔法石来获取法力时,你都需要帮他计算出他到底获得了多少法力。由于答案可能很大,你只需要求出答案对 998244353998244353 取模的结果。

输入格式

第一行输入两个正整数 n,q  (1n,q2.5×105)n,q\;(1\leq n,q\leq 2.5\times 10^5),表示法阵中魔法石的数量和操作次数。

接下来一行,输入 nn 个正整数,其中第 ii 个为 ai  (1ai<998244353)a_i\;(1\leq a_i<998244353),表示魔法石初始的法力值。

接下来 qq 行,先输入一个 opop,表示操作种类;

op=1op=1,则再输入三个正整数 $l,r,c\;(1\leq l\leq r\leq n,2\leq c\leq 2.5\times 10^5)$,表示将区间 [l,r][l,r] 中的所有魔法石的法力值乘以 cc

op=2op=2,则再输入一个正整数 x  (1xn)x\;(1\leq x\leq n),表示获取法力的开始位置。

输出格式

每当进行一次操作 22 时,输出一行一个正整数,表示所要查询的答案对 998244353998244353 取模的值。

7 7
1 1 1 1 1 1 1
1 2 6 2
2 1
1 3 5 5
2 3
1 2 7 3
2 3
2 2
7
22
36
42

提示

第一次操作,将区间 [2,6][2,6] 中的魔法石的法力值乘以 22,法力值序列变为 1,2,2,2,2,2,11,2,2,2,2,2,1

第二次操作,waht 先生选择第 11 块魔法石,则编号为 1,2,4,61,2,4,6 的魔法石会依次被选中,这些魔法石的法力值之和为 77

第三次操作,将区间 [3,5][3,5] 中的魔法石的法力值乘以 55,法力值序列变为 1,2,10,10,10,2,11,2,10,10,10,2,1

第四次操作,waht 先生选择第 33 块魔法石,则编号为 3,4,63,4,6 的魔法石会依次被选中,这些魔法石的法力值之和为 2222

第五次操作,将区间 [2,7][2,7] 中的魔法石的法力值乘以 33,法力值序列变为 1,6,30,30,30,6,31,6,30,30,30,6,3

第六次操作,waht 先生选择第 33 块魔法石,则编号为 3,63,6 的魔法石会依次被选中,这些魔法石的法力值之和为 3636

第七次操作,waht 先生选择第 22 块魔法石,则编号为 2,4,62,4,6 的魔法石会依次被选中,这些魔法石的法力值之和为 4242

题目来源

来自 2025 清华大学学生程序设计竞赛暨高校邀请赛(THUPC2025)初赛。

题解等资源可在 https://gitlink.org.cn/thusaa/thupc2025pre/tree/master 查看。