P4211 [LNOI2014]LCA 链接 分析: 首先一种比较有趣的转化是,将所有点到1的路径上都+1,然后z到1的路径上的和,就是所有答案的deep的和. 对于多次询问,要么考虑有把询问离线,省去每次询问的复杂度,多个一起处理,要么做到优化掉查询. 这里发现求deep和的过程不能在省了,于是可以差分询问,枚举右端点,然后查询所有1到这个点的和. 而第一步的操作可以树链剖分完成.(并且查询的是一个区间,这也保证了这样做可行) 复杂度$O(nlog^2n)$ 代码: #include<cstd…