题目大意:给定一棵树,每个节点有一个值,现在有Q次询问,每次询问u到v路径上节点值与w亦或值的最大值。
解题思路:刚开始以为是树链剖分,其实树链剖分只是用来求LCA(可以不用树链剖分)。
可持久化字典树,在每次插入的同时,不修改原先的节点,而是对所有修改的节点复制一个新的节点,并且在新的节点
上做操作,这样做的目的是能够获取某次修改前的状态。同过可持久化的操作,保留了修改前后的公共数据。
对给定树上的所有节点权值建立01字典树,然后每个节点都保存着一棵可持久化字典树,表示的是从根节点到该节点路
径节点所形成的字典树。对每个节点建树的过程通过修改其父亲节点而得到。
查询时,对根据u,v,lca(u,v)三棵字典树的情况确定亦或的最大值,注意lca(u,v)这个节点要单独计算。