P14523 【MX-S11-T4】Ice Drop
题目背景
[Ice Drop - Aqu3ra / 鏡音レン / MORE MORE JUMP!](https://www.bilibili.com/video/BV1p64y1q7vM)
> このセカイを回す 唯一の魔法
>
> 让这世界回转的 唯一的魔法
题目描述
定义一个正整数序列是好的,当且仅当对任意正整数 $k$,若序列中存在 $k$ 的倍数,则所有 $k$ 的倍数在序列中的位置连续。例如 $[1, 2, 6, 3]$ 是好的,而 $[1, 2, 3, 6]$ 不是好的,因为该序列中 $2$ 的倍数在序列中的位置分别是 $2, 4$,并不是连续的一段。
对于一个长度为 $m$ 的正整数序列 $b$,定义 $f(b)$ 为满足以下条件的**好的**正整数序列 $b'$ 的数量:
- $b' = [b'_1, \ldots, b'_m]$ 的长度为 $m$;
- 若 $b_i > 1$,则 $b'_i = b_i$($1 \le i \le m$)。
- $\operatorname{LCM}(b_1, b_2, \dots, b_m) = \operatorname{LCM}(b'_1, b'_2, \dots, b'_m)$。
爱莉有一个长度为 $n$ 的正整数序列 $a_1, \ldots, a_n$,她向你提出了 $q$ 个问题,每次给出两个数 $l, r$,你要求出 $\sum_{x = l}^r \sum_{y = x}^r f(a[x, y])$ 的值对 $10^9 + 7$ 取模的结果。
注:$a[x, y]$ 表示序列 $a$ 的子串 $[a_x, \ldots, a_y]$。$\operatorname{LCM}$ 表示若干个正整数的最小公倍数。
输入格式
第一行,两个正整数 $n, q$。
第二行,$n$ 个正整数 $a_1, \ldots, a_n$。
接下来 $q$ 行,每行两个正整数 $l, r$,表示一个问题。
输出格式
输出 $q$ 行,每行一个非负整数,第 $i$ 行表示第 $i$ 个问题的答案对 $10^9 + 7$ 取模后的值。
说明/提示
**【样例解释 #1】**
对于第一个样例:
- 有 $f(a[2, 4]) = 4$,对应的好序列分别为 $[1, 2, 1], [1, 2, 2], [2, 2, 1], [2, 2, 2]$。
- 有 $f(a[6, 9]) = 2$,对应的好序列分别为 $[6, 3, 3, 5], [6, 6, 3, 5]$。
**【样例 #4】**
见选手目录下的 $\textbf{\textit{icedrop/icedrop4.in}}$ 与 $\textbf{\textit{icedrop/icedrop4.ans}}$。
该样例满足测试点 $1, 2$ 的约束条件。
**【样例 #5】**
见选手目录下的 $\textbf{\textit{icedrop/icedrop5.in}}$ 与 $\textbf{\textit{icedrop/icedrop5.ans}}$。
该样例满足测试点 $6, 7$ 的约束条件。
**【样例 #6】**
见选手目录下的 $\textbf{\textit{icedrop/icedrop6.in}}$ 与 $\textbf{\textit{icedrop/icedrop6.ans}}$。
该样例满足测试点 $10\sim 13$ 的约束条件。
**【样例 #7】**
见选手目录下的 $\textbf{\textit{icedrop/icedrop7.in}}$ 与 $\textbf{\textit{icedrop/icedrop7.ans}}$。
该样例满足测试点 $14\sim 16$ 的约束条件。
**【样例 #8】**
见选手目录下的 $\textbf{\textit{icedrop/icedrop8.in}}$ 与 $\textbf{\textit{icedrop/icedrop8.ans}}$。
该样例满足测试点 $17, 18$ 的约束条件。
**【样例 #9】**
见选手目录下的 $\textbf{\textit{icedrop/icedrop9.in}}$ 与 $\textbf{\textit{icedrop/icedrop9.ans}}$。
该样例满足测试点 $21, 22$ 的约束条件。
**【样例 #10】**
见选手目录下的 $\textbf{\textit{icedrop/icedrop10.in}}$ 与 $\textbf{\textit{icedrop/icedrop10.ans}}$。
该样例满足测试点 $23 \sim 25$ 的约束条件。
**【数据范围】**
本题共 $25$ 个测试点,每个 $4$ 分。
对于所有测试数据,保证:
- $1 \le n, q, a_i \le 5 \times 10^5$;
- $1 \le l \le r \le n$。
::cute-table{tuack}
| 测试点编号 | $n \le$ | $q \le$ | $a_i \le$ | 特殊性质 |
| :-: | :-: | :-: | :-: | :-: |
| $1, 2$ | $500$ | $1$ | $500$ | AB |
| $3, 4$ | $5000$ | ^ | $5 \times 10^5$ | ABC |
| $5$ | ^ | ^ | ^ | AB |
| $6, 7$ | $5 \times 10^5$ | ^ | ^ | ABC |
| $8, 9$ | ^ | ^ | ^ | AB |
| $10 \sim 13$ | ^ | ^ | ^ | AC |
| $14 \sim 16$ | ^ | ^ | ^ | A |
| $17, 18$ | ^ | $5 \times 10^5$ | ^ | BC |
| $19, 20$ | ^ | ^ | ^ | B |
| $21, 22$ | ^ | ^ | ^ | C |
| $23 \sim 25$ | ^ | ^ | ^ | 无 |
特殊性质 A:对于所有询问都保证 $l = 1$,$r = n$。
特殊性质 B:对于所有 $1 \le i \le n$ 均有 $a_i > 1$。
特殊性质 C:对于所有 $1 \le i \le n$ 均存在 $k \in \N$ 使得 $a_i = 2^k$。