#ABC138F. 余数等于异或

余数等于异或

余数等于异或

题目描述

给定整数 L,RL, R。求满足 LxyRL \leq x \leq y \leq Ryy 除以 xx 的余数等于 y XOR xy \text{ XOR } x 的整数对 (x,y)(x, y) 的个数,并输出其除以 109+710^9 + 7 的余数。

什么是  XOR \text{ XOR }

整数 A,BA, B 的按位异或 a XOR ba \text{ XOR } b 定义如下:

  • a XOR ba \text{ XOR } b 用二进制表示时,2k2^kk0k \geq 0)位上的数字,在 A,BA, B 的二进制表示中 2k2^k 位上的数字只有一方为 11 时为 11,否则为 00

例如,3 XOR 5=63 \text{ XOR } 5 = 6(用二进制表示:011 XOR 101=110011 \text{ XOR } 101 = 110)。

输入格式

输入按以下格式从标准输入给出:

LL RR

输出格式

输出满足条件的整数对 (x,y)(x, y)LxyRL \leq x \leq y \leq R)的个数除以 109+710^9 + 7 的余数。

样例

2 3
3

满足条件的数对有 (2,2),(2,3),(3,3)(2, 2), (2, 3), (3, 3)33 组。

10 100
604
1 1000000000000000000
68038601

不要忘记计算个数除以 109+710^9 + 7 的余数。

数据范围

  • 1LR10181 \leq L \leq R \leq 10^{18}
难度 提高+/省选
通过率
尝试 0
已通过 0
ID
1775
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签