题目大意:给定n个数,有Q次询问,每次询问由两个数l,x组成,表示前缀[1,l]构成的子序列有多少异或起来为x,个数%1e9+7 做法:考虑一个由x个数构成的线性基,如果这个线性基由Y个数构成,可以通过线性基得到z,那么x个数得到z的方案为2^(Y-x),不在线性基中的数随便选 然后就变成斯波题了,维护一个前缀线性基就好了 代码: #include<bits/stdc++.h> #define Mod 1000000007 #define N 100005 using namespace st…