个人思路: 首先,题目可以转化为是否存在 \(a,b\) 路径上一点 \(u\),满足 \(w_u = dis{1,a} \oplus dis{1,b} \oplus w_{lca(a,b)} \oplus k\). 存在等价于个数 \(\ge 1\),离线,差分一下给 \(a,b,lca(a,b),fa_{lca(a,b)}\) 打上四个查询标记,查询从 \(1,u\) 路径上 \(w = k\) 的点的个数.开个桶,进入一个节点 \(v\) 时 \(cnt_{w_v}\) 加上 \(1\),…