随笔分类 - 图,图论
摘要:[TOC] 一、Floyd算法 如何求任意两点最短路?我们可以运行n次SPFA或Dijkstra求得, 而Floyd算法能在$O(N^3)$的时间复杂度内求出图中任意两点的最短路(多源最短路),且代码十分简短。 的本质是动态规划。设$f(k,i,j)$表示"由若干个编号不超过k的节点中转后"从$i$
阅读全文
摘要:[TOC] 一、BFS法判负环 Code: 三、SPFA判正环 1. 由原来的最短路改为最长路 2. 将权值变为原来的相反数并跑最短路判负环
阅读全文
摘要:[TOC] 一、最小生成树的相关知识 1. 树的性质 树实际上是图的特殊形态, 对于任意一张无向连通图$G=(V,E)$,其中$n=|V|,m=|E|$。 该图为树时的性质: 1. |E|=|V| 1 2. 图中无环 3. 图连通 4. 任意两点有且仅有一条简单路径 5. 删除任意一条边后该图不连通
阅读全文
摘要:同余最短路在我们做题中很少出现,是属于比较冷门的一种算法。当题目中出现例如“给定m个整数,求这m个整数能拼凑出多少的其他整数(这m个整数可以重复取)”,以及“给定m个整数,求这m个整数不能拼凑出的最小(最大)的整数”的话时我们可以考虑同余最短路的方法。 例1: "P3403 跳楼机" 我们考虑操作2
阅读全文
摘要:[TOC] 一、关于拓扑排序 1. 定义 对于任意一个DAG图(Directed Acyclic Graph,有向无环图),如果一个序列a由该图所有节点组成,并且对于任意一条边$(u,v)$,u在序列中的位置均在v的位置之前,我们称这样的序列为该图的拓扑序(Topological Order),求拓
阅读全文
摘要:[TOC] 一、图的深度优先遍历 图的深度优先遍历,就是在遍历到一个点$x$时任取一条边继续遍历,直到回溯到$x$,再考虑走其他的边。 图的深度优先遍历会访问每个点,每条边各一次(无向图正反边各访问一次),故时间复杂度为$O(N+M)$。 利用图的深度优先遍历可以统计图或树上的各种信息。 具体实现:
阅读全文

浙公网安备 33010602011771号