随笔分类 - 数据结构-并查集
摘要:洛谷模板题 P3379 给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。 ST表 基本思路 树的构造 举个栗子 欧拉序 存储第一次出现的位置 使用链式前向星存储树的结构,首先求一棵树的欧拉序,然后根据两点的公共祖先就是欧拉序中(第一次出现时)两点位置区间内的深度最小点, 这一定理转化成RMQ
阅读全文
摘要:前向星 在了解链式前向星之前,先简单了解下前向星。前向星是一种边集数组,先把每条边按照从小到大的顺序排序,如果起点一样,那么就按照终点从小到大来排序,并记录下每个点为起点在数组中的位置和该点所连边的数量。 表示以为起点的边的条数,hehiad[i]表示以为起点的边在数组中
阅读全文
摘要:基本思路 一个结构体存储操作,另外一个存储节点,操作按时间排序并遍历即可。 c++ include using namespace std; typedef struct { int vertex,next,time; }OP;OP op[100010]; typedef struct{ int p
阅读全文
摘要:需要路径压缩 c++ include using namespace std; int arr[10010]={0}; int find(int a) {//路径压缩 // if(arr[a]==a)return a; // return arr[a]=find(arr[a]); if(arr[a]
阅读全文