考虑把 Xor Optimization Problem 的答案写成一些好计数的形式,容易发现答案只由原序列的线性基决定。但是由于一个序列可以对应多个线性基,我们要求线性基必须是行最简型,这样线性基就是唯一的。此时答案就是线性基内所有数的异或和。
这个异或和由两部分组成:如果 i 在线性基内,答案第 i 位一定是 1;否则看起来不好处理,但是容易发现如果 i 不超过所有数的最高位,第 i 位会有恰好一半的概率是 1(这个是容易感性理解的)。这样设在线性基内的位为 0\leq a_1<a_2\cdots<a_k<M,答案就是 \frac 12(2^{a_k}-1+\sum_i2^{a_i})。
我们把这个东西拆成两半,先考虑对于所有序列算 \sum_i2^{a_i} 的和。对于一个给定的大小为 k 的线性基,其对应的序列个数为 2^{\binom k2}[N]_2^{\underline k},这就是秩为 k 的 k\times N 矩阵的数量。而给定在线性基内的 k 个位 a_i,考虑能自由选择的位置的个数,其对应的线性基个数显然就是 \prod_i2^{a_i-(i-1)}。于是答案是