#P6218. 圆数(Round Numbers)
0
圆数(Round Numbers)
圆数(Round Numbers)
题目描述
如果一个正整数的二进制表示中, 的数目不小于 的数目,那么它就被称为「圆数」。
例如, 的二进制表示为 ,其中有 个 与 个 。因此, 是一个「圆数」。
请你计算,区间 中有多少个「圆数」。
输入格式
一行,两个整数 。
输出格式
一行,一个整数,表示区间 中「圆数」的个数。
样例输入 #1
2 12
样例输出 #1
6
数据范围
【数据范围】
对于 的数据,。
【样例说明】
区间 中共有 个「圆数」,分别为 。
知识点与难度
本题涉及的知识点从属于 CSP-S,难度(CF Rating):1700。
测试点分布
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 0 | 10 | 1 | 样例 |
| 1 | 20 | 2~8 | 小规模 l,r≤10^4 / 特殊: l=r单数判定 / 特殊: [2^k,2^(k+1)-1]固定位长区间 |
| 2 | 15 | 9~11 | Hack: l=1,r=1最小边界 / Hack: l=1,r=2×10^9最大跨度 / Hack: 2^30附近最高位进位 |
| 3 | 30 | 12~20 | 中规模 r≤10^7 / 大规模 1≤l≤r≤2×10^9 二进制数位DP压力 |
| 4 | 25 | 21~25 | 随机 1≤l≤r≤2×10^9 回归 |
出处:原题链接