P17304 [ICPC 2026 Xi'an I] XOR and LCA
Description
Yuki has a tree with $2^n$ nodes, labeled from $0$ to $2^n - 1$. The $i$-th edge connects node $u_i$ and node $v_i$.
Let $\operatorname{lca}_{r}(u, v)$ denote the lowest common ancestor of nodes $u$ and $v$ when the tree is rooted at node $r$. You need to help Yuki calculate:
$$
\bigoplus_{0 \le u < v < 2^n} \operatorname{lca}_{u \oplus v}(u, v)
$$
where $\oplus$ denotes the bitwise XOR operation.
Input Format
This problem contains multiple test cases.
The first line contains a positive integer $t$ $(1 \le t \le 10^4)$, representing the number of test cases.
For each test case:
- The first line contains a positive integer $n$ $(1 \le n \le 21)$.
- The next $2^n - 1$ lines each contain two integers $u_i, v_i$ $(0 \le u_i, v_i < 2^n,\ u_i \ne v_i)$.
It is guaranteed that the input forms a tree, and the sum of $2^n$ over all test cases does not exceed $2^{21}$.
Output Format
For each test case, output a single line containing an integer representing the answer.
Explanation/Hint
For the first test case:
- When the tree is rooted at node $1$, the lowest common ancestor of nodes $0$ and $1$ is node $1$, so the answer is $\operatorname{lca}_1(0, 1) = 1$.
For the second test case:
- We calculate $\operatorname{lca}_{u \oplus v}(u, v)$ for all pairs $(u, v)$:
- $(0, 1)$: $0 \oplus 1 = 1$, $\operatorname{lca}_1(0, 1) = 1$.
- $(0, 2)$: $0 \oplus 2 = 2$, $\operatorname{lca}_2(0, 2) = 2$.
- $(0, 3)$: $0 \oplus 3 = 3$, $\operatorname{lca}_3(0, 3) = 3$.
- $(1, 2)$: $1 \oplus 2 = 3$, $\operatorname{lca}_3(1, 2) = 2$.
- $(1, 3)$: $1 \oplus 3 = 2$, $\operatorname{lca}_2(1, 3) = 2$.
- $(2, 3)$: $2 \oplus 3 = 1$, $\operatorname{lca}_1(2, 3) = 2$.
- The XOR sum is $1 \oplus 2 \oplus 3 \oplus 2 \oplus 2 \oplus 2 = 2$.