题意
对于正整数 n,定义欧拉函数 φ(n) 为小于等于 n 且与 n 互质的正整数个数。例如
φ(1) = 1, φ(8) = 4。
给定正整数序列 a1, a2, · · · , an,请依次执行 q 个操作,操作有以下三种类型:
0 i x:修改 ai 的值为 x;
1 l r:查询 φ(al + al+1 + · · · + ar) 的值,输出这个值对 10^9 + 7 取模的结果;
2 l r:查询 φ(al × al+1 × · · · × ar) 的值,输出这个值对 10^9 + 7 取模的结果。
n ≤ 50000, q ≤ 100000,Ai及x<=40000操作 0 的个数不超过 20000,所有的 ai、操作 0 中的 i, x 及操作 1,2 中的 l, r 均在给定的限制下内均匀随机生成
分析
第一问的话,直接用树状数组维护前缀和,然后每次枚举不超过 sum−−−−√ s u m