luogu#P16607. [SYSUCPC 2025] Divisor Transformation

[SYSUCPC 2025] Divisor Transformation

题目描述

Dr.Z 正在研究一个长度为 nn 的排列 pp(即 pp 包含从 11nn 的每个整数恰好一次)。他进行了 qq 次实验,每次实验由参数 (l,r,x)(l, r, x) 定义。

在每次实验中,他依次处理子数组 pl,pl+1,,prp_l, p_{l+1}, \dots, p_r。初始值为 xx,对于子数组中的每个元素 pip_i

  • xpix \mid p_ixx 整除 pip_i),则 xx 变为 pi/xp_i / x
  • 否则,若 pixp_i \mid xpip_i 整除 xx),则 xx 变为 x/pix / p_i
  • 否则,xx 保持不变。

Dr.Z 需要你帮忙计算:

  • 处理完每次实验后 xx 的最终值;
  • 在整个处理过程中满足 xpix \mid p_ipixp_i \mid x 的总次数。

输入格式

第一行包含两个整数 n,qn, q1n,q5000001 \le n, q \le 500000)。

第二行包含 nn 个互不相同的整数 p1,p2,,pnp_1, p_2, \dots, p_n1in,1pin\forall 1\le i\le n, 1\le p_i\le n)。

接下来的 qq 行,每行包含 33 个整数 l,r,xl, r, x1lrn,1xn1 \le l \le r \le n, 1 \le x \le n)。

输出格式

对于每次实验,输出两个整数:

  • xx 的最终值;
  • 满足 xpix \mid p_ipixp_i \mid x 的情况出现的总次数。
6 6
1 4 3 2 5 6
1 6 4
3 4 2
3 4 4
5 5 1
2 5 3
6 6 4
2 4
1 1
2 1
5 1
2 2
4 0

提示

翻译由 DeepSeek V3.2 完成