Processing math: 100%

[LibreOJ 2558][LNOI2014]LCA

现在才做这题TAT

如果询问的是一个子集和z的所有LCA的深度的和,那可以把子集里每一个元素到根的路径全部加1,然后根到z的路径上的和就是答案。

如果是区间的话,每次都扫一次整个区间一定会T……所以考虑把区间拆成两个前缀区间,然后离线,给询问排个序然后就好做了。

代码: