初识并查集
并查集 DSU 详细解释可以参考 OI DSU, 它主要适用于这些场景(GPT): 图的连通性问题 并查集可以用来判断图中两个节点是否能够联通,即判断两个节点是否属于同一个集合 判断图是否联通 求解图中联通分量的数目 最小生成树算法 Kruskal 算法,通过并查集判断添加的边是否会形成环,从而构...
并查集 DSU 详细解释可以参考 OI DSU, 它主要适用于这些场景(GPT): 图的连通性问题 并查集可以用来判断图中两个节点是否能够联通,即判断两个节点是否属于同一个集合 判断图是否联通 求解图中联通分量的数目 最小生成树算法 Kruskal 算法,通过并查集判断添加的边是否会形成环,从而构...
二分查找主要用来判断有序数组中是否存在某个目标元素。 但是有的时候我们需要知道该目标元素在数组中出现的位置信息,这就带来了两个问题: 寻找目标数字在有序数组中首次出现的位置 寻找目标数字在有序数组中最后一次出现的位置 另外,可能有的时候还需要知道目标数字不存在的时候,它应该插入到有序数组的哪个位置,这种情况我们会约定负数作为索引下标。 二分搜索首次出现的位置 publi...
题目 实现支持下列接口的「快照数组」- SnapshotArray: SnapshotArray(int length) - 初始化一个与指定长度相等的 类数组 的数据结构。初始时,每个元素都等于 0。 void set(index, val) - 会将指定索引 index 处的元素设置为 val。 int snap() - 获取该数组的快照,并返回快照的编号 snap_i...