Bellman_Ford算法总结

知识概览

  • Bellman_Ford算法适合解决存在负权边的最短路问题,时间复杂度为O(nm)。
  • 在存在负权边的最短路问题中,Bellman_Ford算法的效率虽然不如SPFA算法,但是Bellman_Ford算法能解决SPFA算法不能解决的经过不超过k条边的最短路问题。

例题展示

题目链接

853. 有边数限制的最短路 - AcWing题库高质量的算法题库icon-default.png?t=N7T8https://www.acwing.com/problem/content/855/

代码

#include <cstring>
#include <iostream>
#include <algorithm>using namespace std;const int N = 510, M = 10010;int n, m, k;
int dist[N], backup[N];struct Edge {int a, b, w;
} edges[M];void bellman_ford()
{memset(dist, 0x3f, sizeof dist);dist[1] = 0;for (int i = 0; i < k; i++){memcpy(backup, dist, sizeof dist);for (int j = 0; j < m; j++){int a = edges[j].a, b = edges[j].b, w = edges[j].w;dist[b] = min(dist[b], backup[a] + w);}}
}int main()
{scanf("%d%d%d", &n, &m, &k);for (int i = 0; i < m; i++){int a, b, w;scanf("%d%d%d", &a, &b, &w);edges[i] = {a, b, w};}bellman_ford();if (dist[n] > 0x3f3f3f3f / 2) puts("impossible");else printf("%d\n", dist[n]);return 0;
}

参考资料

  1. AcWing算法基础课

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/521151.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java collections_扫盲java.util.Collections工具包,学习排序、二分、洗牌、旋转算法

作者&#xff1a;小傅哥 博客&#xff1a;https://bugstack.cn沉淀、分享、成长&#xff0c;让自己和他人都能有所收获&#xff01; 一、前言算法是数据结构的灵魂&#xff01;好的算法搭配上合适的数据结构&#xff0c;可以让代码功能大大的提升效率。当然&#xff0c;算法学习…

如何进行MaxCompute 用户认证?

您可以通过以下两种方式进行用户认证。 检查请求Request发送者的真实身份 即请求发送后&#xff0c;参数包括用户名和密码&#xff0c;服务端会验证用户名和密码是否正确&#xff0c;以此判断Request发送者的身份是否可信。 使用此方法有可能在请求时间较长的情况下&#xf…

Linux Shell脚本专栏_MySQL数据库备份_09

文章目录一、MySQL数据库备份单循环1. 安装mysql2. 配置mysql环境变量3. 刷新环境变量4. 创建数据库和表lue5. 脚本制作6. 运行脚本7. 查看备份的sql文件7. 脚本升级动态传参8. 运行脚本9. 查看备份的sql文件二、MySQL数据库表备份多循环2.1. 脚本制作2.2. 运行脚本2.3. 指定目…

【当头棒喝】你是真的了解云计算吗?

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 全球物联网观察责编 | 阿秃对于“云计算”这个名词&#xff0c;大家早已耳熟能详&#xff0c;而且出场率越来越高&#xff01;但对于很多新入行的“小白”来说&#xff0c;其中涉及的各种概念可能令人毫无头绪&#xff0c;这…

专注数据,打造阿里云Elasticsearch“一站式”数据服务体系

众所周知&#xff0c;Elasticsearch的问世使得各种结构、非结构数据得以实现实时搜索、分析的可能&#xff0c;越来越多的用户使用ES集群&#xff08;即Elasticseach集群&#xff0c;下文均简称ES集群&#xff09;实现数据的升值与挖掘。而用户在开发的过程中总是面临数据导入、…

java8 lambda maplist排序_「java8系列」流式编程Stream

前言「Java8系列」神秘的Lambda「Java8系列」神奇的函数式接口继上两篇之后&#xff0c;本文已经java8系列的第三篇了。本篇文章比较长&#xff0c;但我希望大家都能认真读完。读不完可以先收藏&#xff0c;在找时间读。没看过前两篇的可以点上边的链接看看&#xff0c;前两篇文…

Centos7 下载、安装、配置、启动部署

文章目录1. 下载tomcat2. 解压tomcat3. 重命名tomcat4. 配置tomcat环境变量5. 刷新配置文件6. 启动tomcat1. 下载tomcat wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.31/bin/apache-tomcat-9.0.31.tar.gz2. 解压tomcat [rootly-01 ~]# tar -zxf apache-tomca…

世界杯千万级直播高稳定的挑战和实践

今年夏天&#xff0c;俄罗斯世界杯召开。在刚刚落幕的重庆云栖飞天技术汇专场中&#xff0c;阿里视频云技术专家裘良科&#xff0c;就世界杯这个话题&#xff0c;跟参会嘉宾一起探讨了千万级直播高稳定的挑战和相关实践&#xff0c;本文为演讲全文。 2018年俄罗斯世界杯从6月14…

会议邀请 | 10月25日北京,首期D2iQ云原生主题论坛正式启动

在开始今天的内容之前&#xff0c;先问大家一个问题&#xff1a;云原生究竟是什么&#xff1f; 一般来说&#xff0c;“云原生”是一种构建和运行应用程序的方法&#xff0c;它利用了云计算交付模型的优势。CNCF&#xff08;云原生计算基金会&#xff09;将“云原生”定义为使…

Flutter快速上车之Widget

Flutter作为一种全新的响应式&#xff0c;跨平台&#xff0c;高性能的移动开发框架。从开源以来&#xff0c;已经得到越来越多开发者的喜爱。闲鱼是最早一批与谷歌展开合作&#xff0c;并在重要的商品详情页中使用上线的公司。一路走来&#xff0c;积累了大量的开发经验。虽然越…

Linux Shell脚本专栏_自动发布Java项目(tomcat)_10

文章目录一、需求背景及实现流程1. 需求背景2. 实现流程二、软件准备2.1. 公共工具包yum下载2.2. tomcat安装及配置2.3. maven安装及配置2.4. 安装mysql2.5. order项目配置2.6. 脚本制作2.7. 运行脚本一、需求背景及实现流程 1. 需求背景 order项目代码已经到版本仓库中&…

[Phoenix] 十、全局索引设计实践

概述 全局索引是Phoenix的重要特性&#xff0c;合理的使用二级索引能降低查询延时&#xff0c;让集群资源得以充分利用。 本文将讲述如何高效的设计和使用索引。 全局索引说明 全局索引的根本是通过单独的HBase表来存储数据表的索引数据。我们通过如下示例看索引数据和主表数…

云原生数据库崛起,阿里云POLARDB当选世界互联网领先科技成果

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 晶少责编 | 阿秃10月20日&#xff0c;在第六届世界互联网大会上&#xff0c;阿里云自研数据库POLARDB当选世界互联网领先科技成果&#xff0c;POLARDB解决了企业在云时代的数据库难题&#xff0c;帮助企业在数小时内完成上云…

gitee提交代码_git 版本控制,github和gitee

3.4 git 版本控制# 查看本地状态git status # 修改README.txt &#xff0c;添加一行,保存&#xff0c;添加到暂存区git add README.txt # 查看当前仓库某一个文件的版本git diff README.txt# 提交到本地仓库git commit README.txt -m second Commit# 查看当前仓库某一个文件版本…

IT 拉呱室 | 论我遇到的最刺激的bug【长期福利站】

戳蓝字“CSDN云计算”关注我们哦&#xff01;套路的最高境界是没有套路&#xff1a;这是一个只送福利的长期互动栏目【如果你们让我尴尬&#xff0c;我就哭给你们看】。书籍、键盘、鼠标、鼠标垫、CSDN 20周年纪念T恤、技术沙龙门票、线上公开课名额……你敢一直在&#xff0c;…

“百变”Redis带你见识不同场景下的产品技术架构

2018飞天技术汇24期-云数据库Redis产品发布会&#xff0c;由阿里云数据库技术组技术专家王欢、怀听、梁盼分别带来以“Redis全球多活产品”、“Redis混合存储产品”、“Redis多线程性能增强版”为题的演讲。本文对Redis进行了简单的介绍&#xff0c;进而针对不同的应用场景研制…

阿里云PyODPS 0.7.18发布,针对聚合函数进行优化同时新增对Python 3.7支持

近日&#xff0c;阿里云发布PyODPS 0.7.18&#xff0c;主要是针对聚合函数进行优化同时新增对Python 3.7支持。 PyODPS是MaxCompute的Python版本的SDK&#xff0c;SDK的意思非常广泛&#xff0c;辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。 PyODPS在这…

centos安装rabbitmq_【SpringBoot MQ系列教程】RabbitMq 初体验

SpringBoot 系列教程之 RabbitMq 初体验​mp.weixin.qq.commq 在异步解耦削峰的优势非常突出&#xff0c;现在很多的项目都会用到&#xff0c;掌握 mq 的知识点&#xff0c;了解如何顺畅的使用 mq&#xff0c;可以说是一个必备的职业技能点了接下来我们进入 rabbitmq 的学习过程…

java rpc与webservice_RPC体系,RPC和WebService的区别详解

RPC和WebService的关系RPC(Remote Procedure Call)— 远程过程调用&#xff0c;是一个很大的概念, 它是一种通过网络从远程计算机程序上跨语言跨平台的请求服务&#xff0c;rpc能省略部分接口代码的开发&#xff0c;可以跨机器之间访问对象(java rmi)&#xff0c;可以有更方便的…

免费公测中-GPU数据库SQream DB正式上线云市场

业内领先的GPU 数据库服务SQream DB在阿里云云市场正式开启免费公测&#xff01;SQream DB是一款由阿里战略投资的以色列SQream公司提供&#xff0c;能够支撑海量数据高速分析的业内领先的GPU数据库。通过将计算密集型操作卸载到GPU上&#xff0c;与业界的解决方案相比&#xf…