![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
负壹
这个作者很懒,什么都没留下…
展开
-
图论算法归纳(Dijkstra+SPFA+Floyd+Prim+Kruskal+二分图)
一、Dijkstra邻接矩阵算法题目链接:https://www.acwing.com/problem/content/851/代码:#include<iostream>#include<algorithm>#include<cstring>using namespace std;const int N = 510;int g[N][N];int dist[N];bool st[N];int n,m;int Dijkstra(){原创 2020-06-23 16:50:53 · 265 阅读 · 0 评论 -
快速判断一个图是稀疏图的还是稠密图
定义 数据结构中对于稀疏图的定义为:有很少条边或弧(边的条数|E|远小于|V|²)的图称为稀疏图(sparse graph),反之边的条数|E|接近|V|²,称为稠密图(dense graph)。此定义来自百度百科,实际上是一种朴素的理解,简单来说边越多,图就越稠密判断稀疏图与稠密 这个判断方式没有绝对的标准,可以依据定义来判断,比如边的条数|E|很接近|V|²,那么毫无疑问是个稠密图,但是写算法时经常要根据数据的特点选择使用邻接矩阵还是邻接表,所以我们可以从使...原创 2020-06-18 12:53:03 · 20461 阅读 · 3 评论 -
AcWing 341. 最优贸易(双向最短路详解)
题目描述C国有 n 个大城市和 m 条道路,每条道路连接这 n 个城市中的某两个城市。任意两个城市之间最多只有一条道路直接相连。这 m 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通行的道路在统计条数时也计为1条。C国幅员辽阔,各地的资源分布情况各不相同,这就导致了同一种商品在不同城市的价格不一定相同。但是,同一种商品在同一个城市的买入价和卖出价始终是相同的。商人阿龙来到C国旅游。当他得知“同一种商品在不同城市的价格可能会不同”这一信息之后,便决定在旅游的同时,利用商品在不同城市中的差原创 2020-06-17 11:07:45 · 297 阅读 · 0 评论 -
AcWing 340. 通信线路(二分法详解)
题目描述在郊区有 N 座通信基站,P条双向电缆,第 i 条电缆连接基站Ai和Bi。特别地,1 号基站是通信公司的总站,N 号基站位于一座农场中。现在,农场主希望对通信线路进行升级,其中升级第 i 条电缆需要花费Li。电话公司正在举行优惠活动。农产主可以指定一条从 1 号基站到 N 号基站的路径,并指定路径上不超过 K 条电缆,由电话公司免费提供升级服务。农场主只需要支付在该路径上剩余的电缆中,升级价格最贵的那条电缆的花费即可。求至少用多少钱可以完成升级。输入格式第1行:三个整数N,P,K。..原创 2020-06-16 19:13:16 · 680 阅读 · 0 评论 -
spfa判定负环
算法思想:我们用数组记录每个结点的最短路径估计值,用邻接表来存储图G。 采取的方法是动态逼近法:设立一个先进先出的队列用来保存待优化的结点。 优化时每次取出队首结点u,并且用u点当前的最短路径估计值对离开u点所指向的结点v进行松弛操作,如果v点的最短路径估计值有所调整,且v点不在当前的队列中,就将v点放入队尾。 这样不断从队列中取出结点来进行松弛操作,直至队列空为止因为这个反复松弛的过程使得spfa算法可以求带有负权边的最短路问题,这是与Dijkstra的主...原创 2020-06-04 10:52:59 · 1374 阅读 · 1 评论