前缀和-1310子数组异或查询-1442形成两个异或相等数组的三元组数目

这道题用到了前缀和的思想

xor异或数组第i位表示原数组0-i异或的结果

假设arr = [1,3,4,8]

xor[0]=0;

xor[1] = xor[0] ^ arr[0] = 0 ^ 1

xor[2] = xor[1] ^ arr[1] = 0^1^3

xor[3] = xor[2]^arr[2] = 0^1^3^4;

xor[4] = xor[3] ^ arr[3] = 0^1^3^4^8

所以查询数组中,例如[0,1] = arr[0] ^ arr[1] = 1^3 = xor[0] ^ xor[2] ,第0位被抵消掉了

同理,[1,2] = arr[1]^arr[2] = 3^4 = xor[1] ^ xor[3] = (0^1) ^ (0^1^3^4),前面两位被抵消了


题目


解答


题目


解答

你可能感兴趣的:(前缀和-1310子数组异或查询-1442形成两个异或相等数组的三元组数目)