求助,站外题
  • 板块学术版
  • 楼主JYW2011
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/10/17 20:00
  • 上次更新2023/10/22 13:43:18
查看原帖
求助,站外题
937725
JYW2011楼主2023/10/17 20:00

数字精灵

题目描述

两个数字精灵团队进行友谊赛,每个小精灵的攻击力和防御力相同,都是它表示的正整数N转化为二进制后末尾连续0的数量。

甲队优先派出一个数字i进行攻击,乙队采取的防御策略是选择i+2迎战。

比赛进行了T轮,每一轮都会给定一个范围[l,r],甲乙两队按照既定策略进行攻防,本着友谊第一的理念,甲队在选择数字的时候保证乙队有合乎策略的数字可选,请问每一轮比赛中有多少种可能乙队能够抵挡甲队的攻击(防御力>攻击力)?

例如给定范围[4,6],甲队只能选择4,转为二进制100,攻击力为2,乙队只能选择6,转化为二进制110,防御力为1,所以乙队防守失败,防守成功有0种情况。

输入描述

输入T+1 行,第一行一个整数T,表示比赛轮数。

第2行到T+1行,每行两个正整数表示区间端点l,r。

输出描述

输出T行,每行一个整数表示满足条件的情况数量。 样例1

输入

2

3 5

15 20

输出

1

3

对于前10%的测试数据,r=l+2;

对于前30%的测试数据,1<r<10^3;

对于前80%的测试数据,1<r<10^6;

对于100%的测试数据,T≤10^5,1≤1≤r-2≤10^18。

2023/10/17 20:00
加载中...