Link
对于第一问,我们可以 DFS 遍历树,建立树上 DFS 序后,将原编号替换为 DFS 序编号(下文默认输入的时候已将原编号转化为 DFS 序编号。
然后,对于节点 xxx,我们就可以求出以节点 xxx 为根的子树的编号最大值 pxp_xpx,则第一问转化为:
给定 x,yx,yx,y,求 max(vi⊕y)\max(v_i \oplus y)max(vi⊕y),其中 x≤i≤pvx\le i\le p_vx≤i≤pv。
然后就可以以非持久化 01trie A 掉。
但是第二问不会转换了,求神犇转换,或者告诉我此题只能用可持久化