E,Fは簡単でCに手間取りまくった。
https://atcoder.jp/contests/abc171/tasks/abc171_e
問題
N(偶数)要素の整数列Bがあったとする。
A[i] := (BからB[i]を取り除いたもののxor)
で構築される整数列Aが与えられる。
Bを復元せよ。
解法
Aの全要素のxorをCとすると、CにはB[i]が奇数回ずつxorされた値が入る。
あとはB[i]=C^A[i]を返せばよい。
int N; int A[202020]; void solve() { int i,j,k,l,r,x,y; string s; cin>>N; int xo=0; FOR(i,N) { cin>>A[i]; xo^=A[i]; } FOR(i,N) cout<<(xo^A[i])<<" "; cout<<endl; }
まとめ
ABCのEにしては簡単。