BZOJ 3626 LCA(离线+树链剖分)
Posted freeloop
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BZOJ 3626 LCA(离线+树链剖分)相关的知识,希望对你有一定的参考价值。
首先注意到这样一个事实。
树上两个点(u,v)的LCA的深度,可以转化为先将u到根路径点权都加1,然后求v到根路径上的总点权值。
并且该题支持离线。那么我们可以把一个区间询问拆成两个前缀和形式的询问。
现在问题就变成了求[1,r]和x的LCA深度之和。实际上就是把[1,r]到根路径点权点1,然后求x到根路径上的总权值。
我们按编号从小往大依次加路径点权。然后就可以有序处理询问。用树链剖分维护的话,总复杂度为O((n+q)lognlogn).
以上是关于BZOJ 3626 LCA(离线+树链剖分)的主要内容,如果未能解决你的问题,请参考以下文章
BZOJ 3626: [LNOI2014]LCA 树链剖分 线段树 离线
BZOJ 3626: [LNOI2014]LCA [树链剖分 离线|主席树]
BZOJ3626[LNOI2014]LCA 离线+树链剖分+线段树
bzoj3626: [LNOI2014]LCA (树链剖分)