51Nod 2128 前缀异或

前缀异或,\([1 \sim l-1]\)异或两次为\(0\),而\(0\)与任何数异或值都不变。

const int N=1e5+10;
int a[N];
int n,m;

int main()
{
    cin>>n;

    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
        a[i]^=a[i-1];
    }

    cin>>m;
    while(m--)
    {
        int l,r;
        cin>>l>>r;
        int res=a[r]^a[l-1];
        cout<<res<<endl;
    }
    //system("pause");
    return 0;
}
posted @ 2021-04-06 08:29  Dazzling!  阅读(27)  评论(0编辑  收藏  举报