我们考虑一个更广义的情况,不是选取个区间,而是要选取
个区间. 设
是各个
二进制位数的上界(在本题中可取
),再设
是
数组的前缀异或,
表示
从小到大的第
个二进制位,那么题目所求可以列为如下式子:
我们可以引入由如下定义的来表示上式递归的结构
继续推式子:
当时,上式还可以写为
的递推式如下:
我们为方便计算,再定义一个东西:
其中第四个参数
利用滚动数组交替计算与
即得答案

我们考虑一个更广义的情况,不是选取个区间,而是要选取
个区间. 设
是各个
二进制位数的上界(在本题中可取
),再设
是
数组的前缀异或,
表示
从小到大的第
个二进制位,那么题目所求可以列为如下式子:
我们可以引入由如下定义的来表示上式递归的结构
继续推式子:
当时,上式还可以写为
的递推式如下:
我们为方便计算,再定义一个东西:
其中第四个参数
利用滚动数组交替计算与
即得答案