BZOJ3626: [LNOI2014]LCA

题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3626

题解:正解没yy出来,想了一个在树形态是随机的情况下的暴力。

        我们由dfs序建主席树,每次沿询问的x向上爬,不妨设当前从x爬到了y,那么y的子树中编号属于(l,r)的点的个数-x的子树中编号属于(l,r)的点的个数 *dep[y]就是y对ans的贡献。

        查询这一步可以主席树。由于随机数据期望树高是logn的,所以总复杂度是log^2n。。。

        当然这都是傻逼了。。。

        正解可以戳hzwer

        比较神奇的一点就是对于x,如果我们把x到根的路径权值全部+1,那么求y到根的权值和正好计入了dep[lca(x,y)]。所以我们可以离线一个一个插入之后然后查询。

代码:(发现最近知道题目做法之后就不想写代码了QAQ)

posted @ 2015-03-24 22:46  ZYF-ZYF  Views(401)  Comments(0Edit  收藏  举报