公式解説と同じになってしまいましたが,せっかく書いたので公開します.
問題はこちら
問題概要
解説
もちろんXORは進法で桁ごとの演算であるので,ここでも桁ごとに考える.下から
桁目のみについて考えると,すべての辺の重みが
か
である木になり,この問題の答えを
とすると元の問題の答えは
となる.
入力例での例:
,

以下,すべての辺の重みがか
である木についての問題を解く.
この木をある頂点を根とする根付き木として見る.各頂点
について
をDFSなどを用いて計算すると,任意の
について
となる(
はXOR).
は
か
であるので,
が
となるような
の数を数えられればいい.つまり,
となる
の数が知りたい.これは,
となる
の数と
となる
の数を持ちながらDFSすればよい.