#P15276. [MCO 2025] Long Binary String

    ID: 15294 远端评测题 2000ms 256MiB 尝试: 0 已通过: 0 难度: 5 上传者: 标签>2025Fibonacci 数列MCC/MCO(马来西亚)

[MCO 2025] Long Binary String

说明

一个很长的二进制字符串通过以下过程生成:

  1. 从字符串 1\tt{1} 开始。
  2. 每一秒,我们将当前字符串中的每个 1\tt{1} 替换为 10\tt{10},并将每个 0\tt{0} 替换为 1\tt{1}

前几秒字符串的状态如下: 1,10,101,10110,101101011, 10, 101, 10110, 10110101

ss 为这个过程执行了 1010010^{100} 秒后得到的字符串。你需要回答 QQ 个如下形式的查询: ss 中从第 ll 个字符到第 rr 个字符(包含两端)之间有多少个 11

输入格式

第一行包含一个整数 QQ1Q3000001 \le Q \le 300\,000),表示查询的数量。

接下来的 QQ 行,每行包含两个以空格分隔的整数 l,rl, r1lr10181 \le l \le r \le 10^{18}),代表查询。

输出格式

对于每个查询,输出 ss 中从第 ll 个字符到第 rr 个字符(包含两端)之间 11 的个数。

3
3 9
6 6
1 12
5
1
8

提示

注释

可以证明,该字符串的前 1212 个字符是 101101011011101101011011

对于第一个查询,第 33 个字符到第 99 个字符之间有 551,相关的子串是 11010111101011

对于第二个查询,第 66 个字符到第 66 个字符之间有 111,相关的子串是 11

对于第三个查询,第 11 个字符到第 1212 个字符之间有 881,相关的子串是 101101011011101101011011

计分

子任务 1177 分): Q=1Q = 1r300000r \le 300\,000

子任务 221010 分): l=1l = 1r300000r \le 300\,000

子任务 331313 分): r300000r \le 300\,000

子任务 442020 分): l=1l=1rr 等于某个整数秒后字符串的长度

子任务 551515 分): l=rl=r

子任务 661515 分): Q=1Q = 1

子任务 771010 分): r109r \le 10^9

子任务 881010 分): 无额外限制

翻译由 DeepSeek 完成