首先看到这是个 DS 题并且要维护异或,所以他就是个 trie。
然后来考虑怎样求出 \(\text{mex}\) 。
显然,对于树上的一个节点,我能往 \(0\) 的方向走肯定最优,如果那边满了说明走另一边。最后走的那条路径就是答案。
如何维护异或呢?考虑在做 \(\text{mex}\) 时,我是往 \(0\) 的方向走,那么整个数列异或上 \(x\) 之后,应该往异或回去之后 \(=0\) 的方向走。
那么其实对于异或操作我没必要把在整个数列全部进行修改,我只需要维护当前所有寻问的异或和即可。
然后再来看建树。我要记录某一边是否满了,那么说明我们要记录 \(\text{size}\) 数组。但是一般的字典树我是从下往上建的,无法再去访问子节点,这里就要用到线段树的一个思想,就是递归建树再合并。
相关文章
- 12-15[洛谷 U68862] 奶牛滑迷宫 题解
- 12-15[AH2017/HNOI2017]影魔 题解(线段树 思维)
- 12-15flashloader的问题解决过程
- 12-15题解 | Checkers-2019牛客暑期多校训练营第九场G题
- 12-15题解 CF755A 【PolandBall and Hypothesis】
- 12-15CF1481B New Colony 题解
- 12-15题解 NOIP2020 T1 排水系统
- 12-15【复健内容】NOIP2020 题解
- 12-15题解P3153 [CQOI2009]跳舞
- 12-15题解 【Cpdeforces755A】 PolandBall and Hypothesis