前缀和-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),前面两位被抵消了


题目


解答


题目


解答
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容