CF1891D Suspicious logarithms

题目描述

设 $f(x)$ 为 $x$ 的二进制对数的向下取整值。换句话说,$f(x)$ 是满足 $2^y \leq x$ 的最大非负整数 $y$。 设 $g(x)$ 为以 $f(x)$ 为底的对数的向下取整值。换句话说,$g(x)$ 是满足 $f(x)^z \leq x$ 的最大非负整数 $z$。 你将得到 $q$ 个询问。第 $i$ 个询问包含两个整数 $l_i$ 和 $r_i$。该询问的答案是所有满足 $l_i \leq k \leq r_i$ 的整数 $k$ 的 $g(k)$ 之和。由于答案可能很大,请输出对 $10^9+7$ 取模后的结果。

输入格式

第一行包含一个整数 $q$,表示询问的数量($1 \leq q \leq 10^5$)。 接下来的 $q$ 行,每行包含两个整数 $l_i$ 和 $r_i$,表示第 $i$ 个询问的区间($4 \leq l_i \leq r_i \leq 10^{18}$)。

输出格式

对于每个询问,输出该询问的答案,对 $10^9+7$ 取模。

说明/提示

下表给出了 $1 \leq x \leq 8$ 时函数 $f(x)$ 和 $g(x)$ 的值。 \[ \begin{array}{c|cccccccc} x & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 \\ \hline f(x) & 0 & 1 & 1 & 2 & 2 & 2 & 2 & 3 \\ g(x) & - & - & - & 2 & 2 & 2 & 2 & 1 \\ \end{array} \] 由 ChatGPT 4.1 翻译