![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树链剖分
suclliant
流年笑掷 未来可期
展开
-
树链剖分
树链剖分将树的所有节点按照dfs序组织成线性的链,然后就可以使用线段树来处理这个线性链,这样就可以将原来树上的一些操作转换成线段树上的操作。(注:也可以使用其他数据结构来处理,比如树状数组。到底用什么需要视情况而定,这里附上我之前一篇关于树状数组的博文:树状数组)简要描述:1.由于子树中所有节点的编号都是连续的,所以对子树的操作就可以直接转换成对线段树中的一个区间的操作。2.如果要...原创 2019-08-16 16:23:32 · 113 阅读 · 0 评论 -
LCA(使用树链剖分)
最近刚好学了树链剖分,来一道LCA的模板题练练手:P3379 最近公共祖先(LCA)题意:给一棵多叉树,m次询问,求两个节点之间的LCA。思路:树链剖分。#include <bits/stdc++.h>#include<cstring>#define L(x) (x<<1)#define R(x) (x<<1|1)#define...原创 2019-08-16 19:57:18 · 172 阅读 · 0 评论