CodeForces - 1113C Sasha and a Bit of Relax (异或性质运用)

孤街醉人 提交于 2020-03-05 10:58:12

🤩 🤩 🤩

根据异或满足消去律可推出sum[ r ] = sum[ l - 1] 且数组长度为偶数的均满足

#define int ll
int a[MAXN],sum[MAXN];
void solve()
{
    int n;cin>>n;
    rpp(i,n)
    {
        cin>>a[i];
        sum[i]=sum[i-1]^a[i];
    }
    map<int,int>mp[2];
    ++mp[0][0],++mp[1][sum[1]];
    int ans=0;
    for(int i=2;i<=n;++i)
    {
        ans+=mp[i%2][sum[i]];
        ++mp[i%2][sum[i]];
    }
    cout<<ans<<endl;
}
signed main()
{
    int T = 1;
    while (T--) solve();
    return 0;
}

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!