AT_arc213_b [ARC213B] Hamming Distance is not 1
题目描述
给你一些非负整数 $q,L,R\;(q \in \{ 0,1\}, \; L \leq R)$。考虑一个集合 $S$,它满足以下所有条件:
- $S$ 由 $L$ 到 $R$(包含端点)之间的互不相同的整数构成。
- 如果 $a \in S, \; b \in S, \; a \neq b$, 那么 $a$ 和 $b$ 在二进制表示中至少有两个不同的位。 更正式地说,存在至少两个非负整数 $i$,使得 $\left\lfloor\frac{a}{2^i}\right\rfloor$ 和 $\left\lfloor\frac{b}{2^i}\right\rfloor$ 的奇偶性不同。
- 在满足上述两个条件的集合中,元素个数最大。
如果 $q=0$, 求满足条件的集合 $S$ 的元素个数。
如果 $q=1$, 构造出这样一个集合 $S$。
每个输入文件包含 $T$ 组测试数据。
输入格式
第一行一个正整数 $T$,代表测试数据组数。
接下来 $T$ 行,每行三个用空格隔开的整数 $q$,$L$,$R$。
输出格式
输出共 $T$ 行。
第 $T$ 行输出第 $T$ 组测试数据的答案。
对于每组测试数据,如果 $q=0$,输出满足条件的集合 $S$ 的元素个数。
如果 $q=1$,对于满足条件的集合 $S$,令
$B_i=\begin{cases} 1 \; (S \text{ 包含 } i) \\ 0 \; (S \text{ 不包含 } i) \end{cases}$
按如下格式输出:
$B_L \;$ $B_{L+1}\;$ $\dots\;$ $B_R$
如果存在多个满足条件的集合 $S$,你可以输出其中任意一个。
说明/提示
### 样例解释 1
第一组测试数据中,$S=\{0,3\}$ 满足条件。$S=\{1,2\}$ 也满足条件,所以正确。
第二组测试数据中,唯一满足条件的 $S$ 是 $\{1,2\}$, 元素个数是 $2$。
### 数据范围
- $1 \leq T \leq 2 \times 10^5$
- $0 \leq q \leq 1$
- $0 \leq L \leq R \leq 10^{18}$
- 所有测试数据中,$q(R-L)$ 的和不超过 $5\times 10^6$。
- 所有输入值均为整数。