結果
問題 | No.1641 Tree Xor Query |
ユーザー |
![]() |
提出日時 | 2021-08-11 10:41:04 |
言語 | cLay (20241019-1) |
結果 |
AC
|
実行時間 | 30 ms / 5,000 ms |
コード長 | 432 bytes |
コンパイル時間 | 2,879 ms |
コンパイル使用メモリ | 178,280 KB |
実行使用メモリ | 13,440 KB |
最終ジャッジ日時 | 2024-07-05 15:22:38 |
合計ジャッジ時間 | 4,228 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 18 |
ソースコード
int c[2d5],a[],b[],u; graph g; void f(int i,int p){ a[i]=u++; rep[g.edge[i]](j,g.es[i]){ if(j!=p){ f(j,i); } } b[i]=u; } { int@n,@q; rd(c(n),(a,b)(n-1)); g.setEdge(n+1,n-1,a,b); f(1,1); assert(u==n); segtree_Point_Xor<int>t; t.walloc(u); t.setN(u,0,0); rep(i,n)t[a[i+1]]=c[i]; t.build(); rep(q){ int@z,@x,@y; if(z==1){ t.change(a[x],t[a[x]]^y); } if(z==2){ wt(t.getXor(a[x],b[x])); } } }