CF1615B And It's Non-Zero
题目描述
给定一个包含所有从 $[l, r]$ 区间内整数的数组。例如,如果 $l = 2$ 且 $r = 5$,则数组为 $[2, 3, 4, 5]$。你可以删除数组中的若干元素,问最少需要删除多少个元素,才能使得数组所有元素的按位与(bitwise AND)结果不为零?
按位与是一种二进制操作,对于两个等长的二进制数,对应位都进行与操作。
输入格式
第一行包含一个整数 $t$($1 \leq t \leq 10^4$),表示测试用例的数量。接下来有 $t$ 组测试数据。
每组测试数据的第一行包含两个整数 $l$ 和 $r$($1 \leq l \leq r \leq 2 \cdot 10^5$),表示数组的区间描述。
输出格式
对于每组测试数据,输出一个整数,表示最少需要删除的元素个数。
说明/提示
在第一个测试用例中,数组为 $[1, 2]$。此时,按位与结果为 $0$,因为 $1\ \&\ 2 = 0$。但如果删除 $1$(或 $2$),数组变为 $[2]$(或 $[1]$),此时按位与结果为 $2$(或 $1$)。这已经是最优方案,因此答案为 $1$。
在第二个测试用例中,数组为 $[2, 3, 4, 5, 6, 7, 8]$。此时,按位与结果为 $0$。但如果删除 $4$、$5$ 和 $8$,数组变为 $[2, 3, 6, 7]$,此时按位与结果为 $2$。这已经是最优方案,因此答案为 $3$。注意,也可能有其他方法删除 $3$ 个元素。
由 ChatGPT 4.1 翻译