题意:给你一个数组a,长度为.有两种操作.一种是改变数组的某个元素的值,一种是满足某种条件的数组b有多少种.条件是:b[i] <= a[i],并且b[1]^b[2]...^b[n] = k的数组有多少种.数组a的元素都小于1000. 思路:因为数很小,我们把数变成二进制数,然后拆分二进制数.比如1101可以拆成10xx,x可为0可为1,有点像数位dp的试填法.我们对每个a[i]存若干个前缀,记录前缀的长度,以及是这个前缀的二进制数有多少个.然后我们合并相邻的区间,直接暴力二重循环,然后合并.其实…