题目背景
【此处应有图】
题目描述
我们定义 f(x) 表示 x 在 2 进制下最低的 1 的位置(你需要注意,二进制下的最低位是第 0 位)。以下是其在 C++
语言中的代码(未考虑数据类型造成的问题):
共有 T 组询问,每组询问给定区间 [l,r],求有多少个 i∈[l,r] 使得 f(i)<f(i+1)。
输入格式
第一行一个正整数 T。
接下来 T 行每行两个正整数 l,r 表示一次询问。
输出格式
T 行每行一个整数表示答案。
提示
数据规模
本题采用捆绑测试。
Subtask |
T≤ |
特殊限制 |
Score |
1 |
105 |
l=r |
10 |
2 |
104 |
r−l≤103 |
30 |
3 |
105 |
r≤106 |
20 |
4 |
无 |
40 |
对于 100% 的数据,1≤T≤105,1≤l≤r≤1018。