C. 精简数统计

精简数统计

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目内容

小蓝在研究进制转换时发现了一种有趣的数:对于一个给定的基数 KK,如果一个正整数在 KK 进制下的表示中只包含数字 01,那么它被称为 KK-精简数。例如 171744 进制下写作 101,所以它是 44-精简数;而 8844 进制下写作 20,不是 44-精简数。

现在有 qq 个询问,每个询问给定一个区间 [l,r][l, r] 与基数 kk,请你回答区间内有多少个 kk-精简数。

询问次数 qq 不超过 1000。区间左端点 ll 和右端点 rr 的取值范围是 110^{12}(包含边界),且保证 lrl \le r。基数 kk 的取值范围是 210^9

输入描述

第一行包含一个整数 qq,代表询问的次数。 接下来的 qq 行,每行包含三个整数 llrrkk,依次表示区间的左端点、右端点和给定基数。

输出描述

qq 行,每行输出一个整数,表示对应区间中 kk-精简数的数量。

样例1

输入

2
2 9 3
1 25 4

输出

3
7

说明

基数 $k=3$ 时,区间 $[2,9]$ 中的 $3$-好数$3$$10_3$)、$4$$11_3$)、$9$$100_3$),共 $3$ 个;基数 $k=4$ 时,区间 $[1,25]$ 中的 $4$-好数$1,4,5,16,17,20,21$,共 $7$ 个。

样例2

输入

1
1 10 3

输出

5

说明

基数 $k=3$。逐一检查 110 的三进制表示:1 写作 1(有效);2 写作 2(无效);3 写作 10(有效);4 写作 11(有效);5 写作 12(无效);6 写作 20(无效);7 写作 21(无效);8 写作 22(无效);9 写作 100(有效);10 写作 101(有效)。满足只含 01 的数有 134910,共 5$3$-好数

样例3

输入

2
1 100 10
4 4 3

输出

4
1

说明

第一个询问基数 $k=10$,十进制下只含 01 的数在 $[1, 100]$ 内有 11011100,共 4$10$-好数。第二个询问区间 $[4, 4]$,基数 $k=3$4 的三进制为 11,是 $3$-好数,结果为 1

真题模拟赛第三场|Ant|2023.04.04研发岗笔试

Not Attended
Status
Done
Rule
IOI
Problem
3
Start at
2023-4-13 19:00
End at
2023-4-13 20:20
Duration
1.3 hour(s)
Host
Partic.
57