BD String

TimeLimit:1000MS  MemoryLimit:65536KB
64-bit integer IO format:%I64d
未提交 | 登录后收藏
Problem Description
众所周知,度度熊喜欢的字符只有两个:B和D。

今天,它发明了一种用B和D组成字符串的规则:

$S(1)=B$

$S(2)=BBD$

$S(3)=BBDBBDD$



$S(n)=S(n-1)+B+reverse(flip(S(n-1))$

其中,$reverse(s)$指将字符串翻转,比如$reverse(BBD)=DBB$,$flip(s)$指将字符串中的$B$替换为$D$,$D$替换为$B$,比如$flip(BBD)=DDB$。

虽然度度熊平常只用它的电脑玩连连看,这丝毫不妨碍这台机器无与伦比的运算速度,目前它已经算出了$S(2^{1000})$的内容,但度度熊毕竟只是只熊,一次读不完这么长的字符串。它现在想知道,这个字符串的第$L$位(从1开始)到第$R$位,含有的$B$的个数是多少?

Input
第一行一个整数$T$,表示$T(1 \leq T \leq 1000)$ 组数据。

每组数据包含两个数$L$和$R(1 \leq L \leq R \leq 10^{18})$ 。
Output
对于每组数据,输出$S(2^{1000})$表示的字符串的第$L$位到第$R$位中$B$的个数。
SampleInput
3
1 3
1 7
4 8
SampleOutput
2
4
3
Submit
题目统计信息详细
总AC数2
通过人数2
尝试人数2
总提交量6
AC率33.33%
AC该题后可以添加标签
贴完标签可以获得20ACB。
并且可以获得本题所有提交代码查看权限。
点击标题可以显示标签。
如果你还没认真思考过这题,请不要查看标签
如果您已经通过了该题,请务为该题贴上标签

T^T Online Judge

[BUG反馈] [FAQ] [闽ICP备17026590号-1]
当前版本:3.24 系统时间: