P16607 [SYSUCPC 2025] Divisor Transformation

题目描述

**Dr.Z** 正在研究一个长度为 $n$ 的排列 $p$(即 $p$ 包含从 $1$ 到 $n$ 的每个整数恰好一次)。他进行了 $q$ 次实验,每次实验由参数 $(l, r, x)$ 定义。 在每次实验中,他依次处理子数组 $p_l, p_{l+1}, \dots, p_r$。初始值为 $x$,对于子数组中的每个元素 $p_i$: - 若 $x \mid p_i$($x$ 整除 $p_i$),则 $x$ 变为 $p_i / x$; - 否则,若 $p_i \mid x$($p_i$ 整除 $x$),则 $x$ 变为 $x / p_i$; - 否则,$x$ 保持不变。 **Dr.Z** 需要你帮忙计算: - 处理完每次实验后 $x$ 的最终值; - 在整个处理过程中满足 $x \mid p_i$ 或 $p_i \mid x$ 的总次数。

输入格式

第一行包含两个整数 $n, q$($1 \le n, q \le 500000$)。 第二行包含 $n$ 个互不相同的整数 $p_1, p_2, \dots, p_n$($\forall 1\le i\le n, 1\le p_i\le n$)。 接下来的 $q$ 行,每行包含 $3$ 个整数 $l, r, x$($1 \le l \le r \le n, 1 \le x \le n$)。

输出格式

对于每次实验,输出两个整数: - $x$ 的最终值; - 满足 $x \mid p_i$ 或 $p_i \mid x$ 的情况出现的总次数。

说明/提示

翻译由 DeepSeek V3.2 完成