题意: 给出一棵\(n(n \leq 4 \times 10^4)\)个节点的树,每个节点上有个权值,和\(m(m \leq 10^5)\)个询问. 每次询问路径\(u \to v\)上有多少个权值不同的点. 分析: 树分块 首先将树分块,每块的大小为\(\sqrt{n}\)左右. 然后将询问离线处理,按照区间上的莫队算法将询问按块排序. 这里有一道裸的树分块的题目. 树上的路径转移 定义\(S(u,v)\)表示路径\(u \to v\)上的点集,定义\(\bigoplus\)为集合的对称差,类…