题意:给你一个数列A.将所有可能异或出的值从小到大排列.问x是第几个.ai<=1e9n<=100000.
用映射可证每一个可能被异或出的值出现2^(n-线性基元素个数),最后乘一下即可.
在线性基中进行消元,那么每一位的1只有可能在线性基的一个位置上.异或出一个数相当于在位置上增加1.
询问的x若能用s1^s2^s3^...^sk表示,那么可以用:不取最高位,其他任取;取最高位,第二位不取,其他任取;取最高位第二位,不取第三位,其他任取,......这样统计出能够异或出的互不相同的<x的值有多少个.也就是对于该位在x中是1且存在的每一个线性基统计.