首页 > TAG信息列表 > 4507

Acwing 第 64 场周赛 C 4507. 子数组异或和(异或+前缀和)

https://www.acwing.com/problem/content/4510/ 给定一个长度为 n 的整数数组 a1,a2,…,an。 请你统计一共有多少个数组 a 的非空连续子数组能够同时满足以下所有条件: 该连续子数组的长度为偶数。 该连续子数组的前一半元素的异或和等于其后一半元素的异或和。 输出 一个整数,表

AcWing-4507. 子数组异或和

异或的一个性质:如果对一个数异或了两次就相当于不异或。 所以我们可以用前缀和预处理 \(a[i]\oplus =a[i-1]\) \(i\) 至 \(j\) 的异或和为 \(a[j]\oplus a[i-1]\) 该连续子数组的前一半元素的异或和等于其后一半元素的异或和。 即该连续子数组的异或和为 \(0\) 。 暴力的解法: #inc