题解2
暴力做法:枚举区间求LCA。
优化:考虑快速计算合并LCA相同的区间。
枚举右端点 rrr ,维护所有左端点 iii 对应的 [i,r][i,r][i,r] 区间LCA,显然所有以 rrr 为右端点的区间的LCA在根节点到 rrr 的链上,且 iii 越小,LCA越浅。
使用单调栈按深度递增维护对应所有左端点的LCA,合并所有LCA相同的左端点,所有贡献即可维护。
O(nlogn)O(nlogn)O(nlogn)
略
注册一个 Hydro 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。
使用您的 Hydro 通用账户