![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树链剖分
geng4512
蛤蛤蛤蛤
展开
-
BZOJ1036: [ZJOI2008]树的统计Count (树链剖分)
传送门 这是一道树链剖分的基础题目,只需要用线段树来维护重链上的节点信息,轻链一条一条爬就行了,在查询的时候可以先求出LCA然后查询两个点到LCA的信息然后合并就行了。 代码:/************************************************************** Problem: 1036 User: geng4512 Langua原创 2015-11-22 16:04:18 · 441 阅读 · 0 评论 -
BZOJ1787: [Ahoi2008]Meet 紧急集合(LCA)
这一道题中,每一次询问的答案就是这三个点,两两的LCA的异或和。至于这样为什么是对的呢? 我们先考虑是否一定有重复的LCA呢? 如果三个点在根节点的不同子树中,那么LCA都是根节点,三个都重复。 如果有两个在一个子树中,那么这两个与另外一个的LCA都是根节点。 如果三个都在一个子树中,可以归纳到以上两种情况。然后考虑为什么是异或和。 如果三个LCA相同,那么一定是这个点无疑,等于异或和原创 2016-04-11 18:19:29 · 597 阅读 · 0 评论