随笔分类 - 最近公共祖先lca
最近公共祖先lca
摘要:## [ 【模板】最近公共祖先()](https://www.luogu.com.cn/problem/P3379) #### 常见的四种求法 算法 什么是最近公共祖先? 在一棵没有环的树上,每个节点肯定有其父亲节点和祖先节点,而最近公共祖先,就是两个节点在这棵树上深度最大的公共的祖先节点。 换句话说,就是两个点在这棵树上距离最近的公共祖先节点。 所以主要是用来处理当两个点仅有唯一一条确定的
阅读全文
摘要:## [ 【模板】最近公共祖先()](https://www.luogu.com.cn/problem/P3379) #### 常见的四种求法  ### 一、题目描述 给出 个点的一棵树,多次询问两点之间的 **最短距离**。 注意: * 边是无向的。 * 所有节点的编号是 。
阅读全文
摘要:题目传送门 一、理解与感悟 1、树结点需要由父到子,有时也需要由子到父,所以结构体需要修改如下: //树的结构体+存储数组 struct Node { int id; // 当前结点ID int father; // 爸爸 int left; // 左结点ID int right; // 右结点ID
阅读全文