随笔分类 - 学习笔记
摘要:前言 何为强连通分量? 在一个有向图中,若这个图的子图中,任意两点间可以相互到达,那么这个子图就叫做强连通分量。 Tarjan 算法求强连通分量 模板题:Luogu P2863 [USACO06JAN] The Cow Prom S 思想 Tarjan算法过程: 以下图为例做演示。 我们定义两个数组
阅读全文
摘要:## 关于算法 折半搜索,又称 meet in the middle 算法。 顾名思义,就是将整个搜索的过程分成两个部分分别进行搜索,然后再将两个部分搜索出来的答案进行合并,得到最终的答案。 dfs 搜索算法一般都是指数级别的,那么我们假如每次 dfs 时都有两种决策,那么我们执行 dfs 算法的时
阅读全文
摘要:KMP 算法是用来判断一个文本串 $a$ 是否存在子串 $b$ 的高效算法。 ## 定义 以下所有解释,字符串下标都以 $1$ 开始。 $a$:文本串; $b$:模式串。需要判断 $b$ 是否为 $a$ 的一个子串; $len_a$:$a$ 的字符长度($m$); $len_b$:$b$ 的字符长度
阅读全文
摘要:[模板题](https://www.luogu.com.cn/problem/B3644) ## 分析题目 求一个图的拓扑序。需要用到拓扑排序。 ## 拓扑排序 将一张图中的顶点以线性方式进行排序,使得对于任何的顶点 $u$ 到 $v$ 的有向边 $(u,v)$, 都可以有 $u$ 在 $v$ 的前
阅读全文
摘要:**次短路**:顾名思义就是一张图中**第二短**的路径。 **分类**:1. 边**不可重复经过**的次短路问题。边**可重复经过**的次短路问题。 2. **严格**次短路(次短路长度**必须大于**最短路长度)。**非严格**次短路(次短路长度**可以大于或等于**最短路长度)。 # 一 、边
阅读全文
摘要:## 思想 SPFA 算法是对 Bellman-Ford 算法的优化。 我们令一张图中所有顶点的数量为 $n$,所有边的数量为 $m$。 在 Bellman-Ford 算法中,我们需要对每一条边进行松弛操作,所以最终复杂度为 $O(nm)$。 显然按照这种方法,可以处理含有负边权的图。 我们考虑到,
阅读全文
摘要:## 思想 利用贪心,BFS。 首先确定一个起始点 $s$。 需要两个数组 $dist$ 和 $vis$。$dist_i$ 表示编号为 $i$ 的点到起始点 $s$ 的最短距离,$vis_i$ 表示编号为 $i$ 的点是否已经确定为到起始点路径最短的点。 做法:从 起始点 $s$ 开始,遍历与 $s
阅读全文

浙公网安备 33010602011771号