从高到低按位考虑。
设当前位有 \(k\) 个 \(1\)。
- 如果 \(k \bmod 2 = 0\),这意味着 Alice 如果选了一个数,Bob 可以选相同的数。发现可以分成 \((0,0),(1,1)\) 两组,递归下去即可。
- 如果 \(k \bmod 2 = 1\),意味着答案这一位一定是 \(1\)(因为无论如何都不能消除贡献)。此时 Bob 可以做到有且仅有一对数异或和在这一位是 \(1\),于是我们需要查两两异或和最小值,这个随便 01Trie 做一下即可。
递归复杂度 \(O(n \log V)\),01Trie 复杂度 \(O(n \log V)\),总时间复杂度 \(O(n \log V)\)。
- AtCoder Regular Contest Game 122atcoder regular contest game atcoder regular contest 165 minimization atcoder regular contest atcoder regular contest 166 atcoder regular contest degree atcoder regular contest 167 atcoder regular contest sliding atcoder regular contest 164 atcoder regular contest builder subsegments atcoder regular contest