#HK5171. 「POI2020 IOI Selection」Unia Bajtopejska

「POI2020 IOI Selection」Unia Bajtopejska

题目描述

题目译自 XXVII Olimpiada Informatyczna – Eliminacje do IOI Unia Bajtopejska

拜托佩亚是拜托西亚星球上的一块大陆,上面分布着许多国家。为了简化问题,这些国家被编号为从 AABB(包含两端)的连续非负整数。每个编号在这一区间内的国家唯一对应一个国家,而小于 AA 或大于 BB 的编号则属于其他大陆的国家。拜托佩亚的各国政府认识到,进一步发展需要加强整合,因此他们成立了一个经济和政治联盟,称为「拜托佩亚联盟」。

迄今为止,拜托佩亚各国之间的唯一交通方式是公路连接。现在是时候彻底改变这一现状了:Bengen 区项目计划建立一个航空网络,确保联盟内任意两个国家之间能够实现通信(不一定是直接连接)。

当然,各方一致同意,网络的建设成本应尽可能低。建立国家编号为 xxyy 之间航空连接的成本为 xyx \oplus y 拜塔拉尔(bajtalar),其中 \oplus 表示异或操作(XOR):xyx \oplus y 的第 ii 位为 11,当且仅当 xxyy 的第 ii 位中恰好有一个为 11

联盟当局希望在协商 Bengen 区项目细节之前,先了解建设这一网络的成本。请帮助他们,编写一个程序来计算这一成本。

输入格式

输入数据的第一行包含一个自然数 qq (1q100000)(1 \leq q \leq 100000),表示数据集的数量。接下来的 qq 行中,每行包含一组数据,每组数据由两个非负整数 AABB (0AB1016)(0 \leq A \leq B \leq 10^{16}) 组成,表示各国编号的范围。

输出格式

输出恰好 qq 行,第 ii 行包含第 ii 组数据的答案。每组数据的答案是一个整数,表示建立 Bengen 区的最小可能成本。

1
2 5

8

拜托佩亚的国家编号为 {2,3,4,5}\{2,3,4,5\}。只需建立三条航空连接:国家 2233 之间(成本:23=12 \oplus 3=1),国家 2244 之间(成本:24=62 \oplus 4=6),以及国家 4455 之间(成本:45=14 \oplus 5=1)。因此,网络总成本为 1+6+1=81+6+1=8 拜塔拉尔。

附加样例

  1. q=1q=1A=0A=0B=17B=17
  2. q=1q=1A=50000A=50000B=200000B=200000
  3. q=1q=1A=0A=0B=240B=2^{40}
  4. q=40q=40,在第 ii 个查询中 A=2i1+1A=2^{i-1}+1B=2iB=2^{i}

数据范围与提示

详细子任务附加限制及分值如下表所示。

子任务 分值 附加限制
11 99 q=1q=1BA500B-A \leq 500
22 1212 q=1q=1A=0A=0B200000B \leq 200000
33 1515 q=1q=1BA200000B-A \leq 200000
44 1818 A=0A=0
55 1212 q=1q=1A100000A \leq 100000
66 1111 q=1q=1
77 2323 无附加限制