传送门
考虑到可以把序列变成差分序列。
即\(b_i=\oplus_{k=1}^i a_k\),那么修改变为单点修改。
那么只需要得到\(a_l\),\(b_{l+1}...b_r\)的线性基即可得到答案。
用线段树维护有\(3log\)。
现有随机做法:维护\(log+\)个原序列随机子集。
每次将这子集中对应区间的异或和扔进线性基构成原区间线性基。
用树状数组维护\(log^2\)。
传送门
考虑到可以把序列变成差分序列。
即\(b_i=\oplus_{k=1}^i a_k\),那么修改变为单点修改。
那么只需要得到\(a_l\),\(b_{l+1}...b_r\)的线性基即可得到答案。
用线段树维护有\(3log\)。
现有随机做法:维护\(log+\)个原序列随机子集。
每次将这子集中对应区间的异或和扔进线性基构成原区间线性基。
用树状数组维护\(log^2\)。