2018-04-06から1日間の記事一覧

F. Mahmoud and Ehab and yet another xor task | Codeforces Round #473 (Div. 2)

エディトリアルの通り。j<iまで見てxorsumで作れる集合をSとする。a[i]∈Sのとき、x∈Sであればa[i]⊕∈SなのでSの元はそのままで、各元の構成の仕方が2倍になる。a[i]∉Sのとき、x∈Sならばa[i]⊕x∉Sなので、集合にa[i]⊕xを加えるだけ。|S|が2倍になる。 int main() { int N, Q; cin >> N >> Q; vi A(N); rep(i, N)cin >> A[i]; set<int> S; S.insert(0); mint val = 1; vi L(Q), X(Q); vector<vi> qs(N); rep(i, Q) { cin …</vi></int></iまで見てxorsumで作れる集合をsとする。a[i]∈sのとき、x∈sであればa[i]⊕∈sなのでsの元はそのままで、各元の構成の仕方が2倍になる。a[i]∉sのとき、x∈sならばa[i]⊕x∉sなので、集合にa[i]⊕xを加えるだけ。|s|が2倍になる。>