C - エックスオア多橋君 arc045_c

Quiz

https://atcoder.jp/contests/arc045/tasks/arc045_c

Submit

https://atcoder.jp/contests/arc045/submissions/4227512

解法

  • 任意の点からdfsしてxorを求めれば、xからyまで辿ったときのxor和はx -> root -> y から一瞬で求まる
  • 任意の点からdfsしてxor和を求め、mapでカウントする
  • カウントを使って「この点からこの点に行けばxor和=Xになる」数を求めれば答え

Notebook

f:id:peroon:20190211015952j:plain

Notebook 2 (コーナーケース)

f:id:peroon:20190211020038j:plain