上一页 1 ··· 5 6 7 8 9 10 11 下一页
摘要: 有点时间补一下这玩意吧。 首先先说明 RMQ 是一类问题,指 区间最值问题,而 ST 表是解决 RMQ 问题的一把手术刀(手术刀,锋利但不通用)。 作用 \(O(\log n)\) 的预处理。 \(O(1)\) 的区间最值查询。 不可以更改区间数值。 原理 原理是倍增。 我们将设 \(f[i][j] 阅读全文
posted @ 2024-05-25 16:49 blind5883 阅读(63) 评论(0) 推荐(0)
摘要: LCA 就是最近公共祖先,表示为 \(\operatorname{lca}(a, b)\),它的求解方法主要有两种。 倍增法 这是最常用的一种可以动态求 LCA 的算法。时间复杂度为 \(O(\log{n})\)。 中心思想 这个算法中有两个特殊的数组:\(depth[i]\) 和 \(fa[i][ 阅读全文
posted @ 2024-05-21 14:59 blind5883 阅读(101) 评论(0) 推荐(0)
摘要: 题目链接P1119 灾后重建 先读题意,就是求在 \(t\) 时间时当前 \(a\) 到 \(b\) 的最短路,并且当前 \(a\) 和 \(b\) 村都必须重建完毕。即然一两点间距离。再看一眼数据范围,可以知道需要用到 Floyd 算法。 比较暴力的,可能会用 \(n\) 次 Floyd 把每次时 阅读全文
posted @ 2024-05-16 10:39 blind5883 阅读(62) 评论(0) 推荐(0)
摘要: 松弛即利用某个点使得某条边的距离变短,如下图: \(1\) 到 \(2\) 的距离,不如从 \(1\) 到 \(3\) 再到 \(2\) 的距离短,于是我们就可以经过 \(3\) 使得 \(1\to2\) 这条边变短。而这就是松弛。 阅读全文
posted @ 2024-05-12 22:09 blind5883 阅读(65) 评论(0) 推荐(0)
摘要: 为数不多的全源最短路算法,全源即,全部点为原点,即算出任意两个点之间的最短路径。 前提条件,没有负环。可有负权。 因为中心思想是动态规划,所以有很强的性质,做题的时候注意利用。 中心思想 中心思想为动态规划。 现在我们设 f[k][i][j] 表示从点 \(i\) 到点 \(j\),只经过 \(1\ 阅读全文
posted @ 2024-05-12 22:08 blind5883 阅读(71) 评论(0) 推荐(0)
摘要: updata 2025.8.24 添加了一些 hack,说明了一些错误思想 基本上用不到的算法,和高精度一样,不常用,用到了又无可代替 常用于限制边数的最短路算法。 使用范围 可以处理任意边权的图,可以判断负环。 时间复杂度 \(O(nm)\)。因为太慢了,在求最短路的时候基本用不到,但是它的优化版 阅读全文
posted @ 2024-05-12 21:03 blind5883 阅读(52) 评论(0) 推荐(0)
摘要: updata 2025.8.24 修复了一些证明错误 易写,支持负权,可判负环,可以求最短路,也可以最长路,什么都行。就是容易被卡qwq,(退化为 Bellman_Ford)。所以SPFA他死了。是 Bellman_Ford 算法的队列优化版。 使用范围 支持负权,可以处理负环,可判负环,可以求最短 阅读全文
posted @ 2024-05-12 21:02 blind5883 阅读(68) 评论(0) 推荐(0)
摘要: 非常经典的单源最短路算法。仅能用于正权图(边权可为 \(0\))。拥有朴素版 \(O(n^2)\) 和堆优化版\(O((n + m)\log{m})\)。朴素版一般用邻接矩阵存图,而优化版使用邻接表或者链式前向星,我常用链式前向星。 中心思想 每次在没用过的点内找一个距离起点最近的点,用这个点对其他 阅读全文
posted @ 2024-05-12 21:01 blind5883 阅读(79) 评论(0) 推荐(0)
摘要: 存边的结构,也是挺简单的,重点就三个数组h,ne,e和一个变量idx idx是index索引的缩写,这就是它的作用,索引。 时间空间复杂度都是$O(n + m)$很不错 h是存的表头,ne存的是下一个点的idx,e是当前点的序号,一般还有一个w存的是当前点的权值 更详细一些 h[a]表示a的表头,里 阅读全文
posted @ 2024-05-11 21:34 blind5883 阅读(73) 评论(0) 推荐(0)
摘要: 何谓线段树 又是一个长时间没用的数据结构,复杂而又简单的线段树,简单是思路简单,复杂是调起来复杂(起步一个下午)。 线段树及其强大的东西,可以在 \(\operatorname O(4\log n)\) 时间内完成,区间修改(增删改减),区间查询的操作 ,即所有关于区间的操作,它都能以 \(\ope 阅读全文
posted @ 2024-04-30 10:09 blind5883 阅读(61) 评论(0) 推荐(0)
上一页 1 ··· 5 6 7 8 9 10 11 下一页