摘要:
"Link" 做个每个点到根的异或和,那么现在问题又变成了求第$k$小的$a_i\operatorname{xor}a_j$。 Trie树+高位贪心即可。这个Trie树我们可以从上往下一层层建,每一层建的时候可以把上一层的Trie清空,这样可以做到$O(n)$空间。 阅读全文
摘要:
"Link" 先考虑求出第$k$大的$a_i\operatorname{xor}a_j$,可以在建出Trie树之后高位贪心。 然后需要求出比这个数大的和。 在Trie树上额外维护$c_{u,i}$表示在$u$的子树内有多少个数的第$i$位为$1$。 在高位贪心的时候,如果当前位能够凑到的$1$的数量 阅读全文