P6072 『MdOI R1』Path

考虑我们有这样操作。
我们只要维护两点在子树内和两点在子树外的异或和即可。
前者可以类似于线段树合并的trie树合并。
后者有两种做法:
一种是把dfn序翻倍:然后子树补变成了一个区间最大异或问题,可以进行回退莫队。
一种是我们可以发现只有在全局最大的两个点到根的路径会改变答案,我们可以直接在这两条路径上进行合并操作,每次向下一层并合并他不在答案链上的点的子树的trie

posted @ 2021-09-24 21:11  fhq_treap  阅读(42)  评论(0编辑  收藏  举报