一.题目 题目描述 有一棵 \(n\) 个节点的数,每个点有点权 \(a_i\),定义一条路径的权值为路径上所有点的异或和,求所有路径的权值和,有 \(q\) 次修改,每次改一个点的点权. 数据范围 \(n,q\leq10000,a_i<2^{15}\) 二.解法 不难想到可以拆位,也就是对于每个二进制位分别考虑. 树上路径问题一定要往点分治方面想,然后由于有修改所以可以使用__点分树__ 一开始陷入了错误的思路,因为点分树和原树的结构是不同的,所以直接记到根为 \(0/1\) 有多少条路径是难…