#P9376. 「DROI」Round 2 进制与操作

    ID: 8458 Type: RemoteJudge 4000ms 512MiB Tried: 0 Accepted: 0 Difficulty: 6 Uploaded By: Tags>莫队树状数组O2优化可持久化线段树随机化

「DROI」Round 2 进制与操作

题目背景

与其编写苍白无力的背景,不如出更有质量的题。

题目描述

定义数 xxBB 进制下的一次操作为以下两种操作中的任意一种:

  • xxBx \rightarrow \lfloor \dfrac{x}{B} \rfloor

  • xx×B+tx \rightarrow x \times B + t 。其中 t[0,B1]t \in [0,B-1]

现给定长度为 nn 的序列 AAmm 次询问,每次询问形如:

  • l r B 表示询问将序列 AA 中下标在 [l,r][l,r] 之内的数在 BB 进制下操作,至少多少次才能将所有数变为相同(注:每次操作是对一个数进行操作)。

询问间相互独立,即操作不会真的进行。

输入格式

第一个两个整数,分别表示 n,mn,m

第二行一行 nn 个数,表示序列 AA

接下来 mm 行,每行三个数,分别表示这次询问的 l,r,Bl,r,B

输出格式

输出共 mm 行,其中第 ii 行表示第 ii 次询问的答案。

5 5
7 6 5 8 9
1 3 2
2 5 2
4 4 6
3 5 4
1 5 3
5
8
0
5 
10
8 4
10 14 7 11 19 13 7 18 
1 7 4
3 8 2
1 4 4
1 4 2

15
18
8
11

提示

样例解释

对于样例一,五次询问分别将区间内所有数变为 3344884466 是一种最优操作。


数据范围

「本题采用捆绑测试」

  • Subtask1(10%)\operatorname{Subtask} 1(10\%)n,m1000n,m \leq 1000

  • Subtask2(20%)\operatorname{Subtask} 2(20\%):保证所有询问 B=2B=2

  • Subtask3(40%)\operatorname{Subtask} 3(40\%)n,m3×104n,m \leq 3 \times 10^4

  • Subtask4(30%)\operatorname{Subtask} 4(30\%):无特殊限制。

对于 100%100\% 的数据:1n,m1051 \leq n,m \leq 10^52Ai,B1082 \leq A_i,B \leq 10^8