![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
文章平均质量分 57
图论算法笔记
newbieQQ
这个作者很懒,什么都没留下…
展开
-
图论模板总结
图论原创 2022-09-09 21:42:08 · 162 阅读 · 0 评论 -
图论笔记6:差分约束
1. 图论笔记——差分约束1.1. 用途1.2. 问题转化1.3. 解决步骤1.4. 例题1. 图论笔记6:差分约束1.1. 用途简单来说就是求一组不等式组的可行解:例:x1 <= x2 + c1x2 <= x3 + c2x3 <= x1 + c3…差分约束可以求这样一组不等式可行解;1.2. 问题转化在最短路问题里,我们能发现,在更新dis数组时候我们会的到一个三角不等式 dis[v] <= dis[u] + w,那我们不妨把dis[v]..原创 2022-02-12 18:04:46 · 318 阅读 · 0 评论 -
图论笔记1:存图方式
文章目录前言一、邻接矩阵1.声明邻接矩阵2.使用邻接矩阵存边二、邻接表1.邻接表的使用三、链式前向星1.链式前向星的使用总结前言图论的基础就是存图,存图的方式有许多种,一般就三种:邻接矩阵,邻接表,链式前向星。一、邻接矩阵邻接矩阵的简单来说就是一个数组两个端点的下标就是这条边的起始端点和最终端点,可以直接用下标访问,存边的时间复杂度和调用此边的复杂度都为O(1),但是缺点在于他的空间复杂度为O(n²),只能存小图以及存稀疏图空间浪费太大1.声明邻接矩阵int maps[maxn][maxn.原创 2021-09-01 16:59:42 · 154 阅读 · 0 评论 -
图论笔记2:最短路
算法总结最短路笔记1:floyd一、原理介绍二、使用步骤1.状态转移方程2.算法模板Floyd总结最短路笔记2:dijkstra一、算法原理二、算法模板1.朴素算法2.堆优化算法dijkstra总结最短路笔记3:SPFA一、算法原理二、算法模板SPFA算法总结最短路笔记1:floyd一、原理介绍Floyd算法是最短路的一一种利用dp思想来求多点对多点的算法。基本的思想就是先枚举一个中间点,在枚举两个端点,判断两个端点中间,是否存在这两个端点分别到这个中间点的距离相加小于这两个点之间的当前最短路径..原创 2021-10-03 18:02:46 · 166 阅读 · 0 评论 -
图论笔记3:最小生成树
算法总结最小生成树笔记1:Kruskal一、算法原理二、算法模板算法总结最小生成树笔记2 :prim一、算法原理二、算法模板算法总结最小生成树笔记1:Kruskal一、算法原理kruskal算法是一种基于贪心思想的算法,将每一条边排序,然后从小到大依此选择,能选则选,若不能选则下一个,直到每个点都被选中。其中,有无被选中用并查集来判断。将每条边看成一棵树,若两个点在同一个边上,则看这两个点是不是在同一个树上,若不是就可以通过这个最小的可以连接这两颗树的边(因为是从小到大选的,所以如果有比它更小的边,原创 2021-10-03 22:45:34 · 128 阅读 · 0 评论 -
图论笔记4:拓扑排序
文章目录前言一、算法原理二、操作三、算法模板前言拓扑排序。是将一个有向无环图,转化成偏序关系的一种算法,操作:一、算法原理从待排序集合中,取出入度为零的点(没有点能比入度为零的点大)。删去与这个点相关的所有边,使这个点从关系网中退出。重复上述操作直至只剩一个点为止。总之就是让点按从大到小的顺序退出关系网,来不断分解关系网。所以算法关键在与如何快速找到入度为0的点。二、操作1,从所有待排序集合,中取出所有入度为零的点,加入到队列中。2.从队列中取出任意取出一个点,将这个点的所有边,从关.原创 2021-10-03 22:49:12 · 77 阅读 · 0 评论 -
图论笔记5:二分图
图论笔记5:二分图二分图染色一、二分图染色原理二、二分图染色板子基于链式前向星基于邻接矩阵三、模型匈牙利算法一、算法原理二、算法模板基于链式前向星基于邻接矩阵三、模型1.最小点覆盖二分图染色一、二分图染色原理二、二分图染色板子基于链式前向星const int M = 1e5 + 10;const int N = 1e5 + 10;struct edge{ int next, to;} e[M];int head[N], color[N];int n, m, cnt = 0;原创 2021-10-05 23:37:26 · 108 阅读 · 0 评论