10 2020 档案

摘要:并查集是一种树型的数据结构, 用于处理一些不相交集合(disjoint sets)的合并及查询问题。 常常在使用中以森林来表示。 朴素: int Find(int x) { if(fat[x]==x) return x;//fat是指父节点 return Find(fat[x]); } void u 阅读全文
posted @ 2020-10-31 17:50 x_miracle 阅读(81) 评论(0) 推荐(0)
摘要:Bellman-Ford Bellman-Ford算法,是单源最短路算法的一种。 与之前的 Dijkstra算法 最大的不同是:Dijkstra算法无法判断含负权边的图的最短路,而Bellman-Ford算法可以处理 存在负权边 的最短路径。 由于Bellman-Ford算法简单地对所有边进行松弛操 阅读全文
posted @ 2020-10-29 17:16 x_miracle 阅读(215) 评论(0) 推荐(0)
摘要:算法一:朴素法 采用两点逐渐向根移动的方法,求出LCA。 具体步骤: 1.求出每个节点的深度 2.询问两个节点是否重合,若重合,则LCA已经求出。否则,选择两个点中深度较大一个,移动它的父亲。 时间复杂度$O(n)$,查询$q$次的话,复杂度$O(qn)$ 优点:简单,该算法允许树动态改变。 代码如 阅读全文
posted @ 2020-10-24 23:16 x_miracle 阅读(119) 评论(0) 推荐(0)
摘要:核心算法:差分约束,前缀和 重点:如何灵活构图来应用差分约束算法。 准备工作: 设$x_i$为字符串$S$的子串:$s_1...s_i$中$1$的个数。 (前缀和) 那么$x_i-x_$所表达的含义即为:$S$的子串:$s_{i-L+1}...s_i$中$1$的个数。 (\(L\leq i \leq 阅读全文
posted @ 2020-10-02 20:21 x_miracle 阅读(235) 评论(0) 推荐(0)
摘要:###观前提示: 建议完成以下题目后在来看此题/题解哦。 P3385 【模板】负环 P5960 【模板】差分约束算法 ###题目分析: 核心算法:差分约束 (这几乎是一道裸题) 题中写道: “不等式形如$T_i-T_j \leq b$代表$i$和$j$的起始时间必须满足的条件。每个不等式的右边都是一 阅读全文
posted @ 2020-10-02 10:30 x_miracle 阅读(135) 评论(0) 推荐(0)
摘要:###差分约束系统 首先,我们先介绍一下什么是差分约束系统。 定义:如果一个系统由$n$个变量和$m$个约束条件组成,形成$m$个形如$a_i-a_j \leq k$的不等式 。 \(i,j\in \left [ 1,n \right ]\) 且 $k$为常数。 (不绝对,若为$a_i-a_j \g 阅读全文
posted @ 2020-10-01 10:46 x_miracle 阅读(261) 评论(0) 推荐(0)