P3917. 异或序列
#include<cstdio>
#define LL long long
using namespace std;
int n,a[100005];
LL ans = 0;
int main()
{
scanf("%d",&n);
for (int i = 1; i <= n; i++) scanf("%d",&a[i]),a[i] ^= a[i - 1];
for (int i = 0; i <= 30; i++)
{
LL c1 = 0,c2 = 0;
for (int j = 0; j <= n; j++)
if (a[j] & (1 << i)) c1++;
else c2++;
ans += (LL)c1 * c2 * (1LL << i);
}
printf("%lld\n",ans);
}