CF2267F2 XOR Transformations (Hard Version)
题目描述
这是该问题的高难度版本。本版本与普通版本的区别在于 $n$ 和 $q$ 的约束更高。只有在你解决了所有版本的本题后,才允许进行 hack。
对于由 $m$ 个整数构成的数组 $b$,定义如下操作:
- 写出所有 $1\le i
输入格式
每组测试数据包含多组测试用例。第一行包含测试用例的数量 $t$($1 \le t \le 10^4$)。接下来是每组测试用例的描述。
每组测试用例的第一行包含两个整数 $n$ 和 $q$($5\le n\le 10^5$,$1\le q\le 10^5$),分别表示数组的大小和询问数。
第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($0\le a_i < 2^{30}$)。
接下来的 $q$ 行,每行包含一个整数 $x$($0\le x < 2^{30}$)。
保证所有测试用例中 $n$ 的总和与 $q$ 的总和不超过 $10^5$。
输出格式
对于每个测试用例,输出 $q$ 个整数,分别为每个询问的答案。
说明/提示
在第一个测试用例中,经过一次操作后,数组变为 $[0, 0, 0, 0, 1]$,此时 $\max(a) - \min(a) = 1 - 0 = 1$。
在第二个测试用例中,初始数组为 $[6, 7, 8, 9, 15]$,初始时 $\max(a) - \min(a) = 15 - 6 = 9$。经过一次操作后,数组变为 $[1, 1, 6, 7, 8]$,此时 $\max(a) - \min(a) = 8 - 1 = 7$。
由 ChatGPT 5 翻译