HDU 2544 最短路【Bellman_Ford 】
题意:给出n个节点,m条边,问从起点到终点的最短距离
用bellman_ford,注意是无向图
初学bellman_ford= =一点点理解
因为dijkstra是每次用集合里面的点去更新它们所连接的点的距离 假设集合s={A},
如果B能够被A“带”入集合的话,说明AB一定是最短的距离了,因为后来不管怎么样,边权都是正的,不会使得AB变得更小
所以,dijkstra只能处理正权图
然后Bellman_Ford可以处理负权,反复用已有的边来更新最短距离
从起点1到终点n的最短距离最多经过n-2个点,即为最多松弛n-1次
如果第n次还能够松弛成功,说明含有负权回路
大概先理解了这些,优化再好好学= =证明也再好好看
#include<iostream>
#include<cstdio>
#include<cstring>
#include <cmath>
#include<stack>
#include<vector>
#include<map>
#include<set>
#include<queue>
#include<algorithm>
#define mod=1e9+7;
using namespace std; typedef long long LL;
const int INF = 0x3f3f3f3f ;
const int maxn=;
int d[maxn]; struct edge{
int u,v,w;
} e[maxn]; int flag=,nodenum,edgenum,st; void bellman_ford(){
int i,j,k;
for(i=;i<=nodenum;i++)
d[i] = (i == st ? : INF); for(i=;i<nodenum;i++){
for(j=;j<=*edgenum;j++){
if(d[e[j].v]>d[e[j].u]+e[j].w) d[e[j].v]=d[e[j].u]+e[j].w;//松弛
}
}
} int main(){
int i,j,k,u,v,w;
while(scanf("%d %d",&nodenum,&edgenum)!=EOF&&nodenum&&edgenum){
for(i=;i<=*edgenum;i++){
scanf("%d %d %d",&u,&v,&w);//无向图
e[i].u=u;e[i].v=v;e[i].w=w;
i++;
e[i].u=v;e[i].v=u;e[i].w=w;
} st=; bellman_ford();
printf("%d\n",d[nodenum]);
}
return ;
}
加油 go---go--go
HDU 2544 最短路【Bellman_Ford 】的更多相关文章
- ACM: HDU 2544 最短路-Dijkstra算法
HDU 2544最短路 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Descrip ...
- UESTC 30 &&HDU 2544最短路【Floyd求解裸题】
最短路 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- HDU - 2544最短路 (dijkstra算法)
HDU - 2544最短路 Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以 ...
- hdu 2544 最短路
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=2544 最短路 Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shi ...
- HDU 2544最短路 (迪杰斯特拉算法)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2544 最短路 Time Limit: 5000/1000 MS (Java/Others) Me ...
- (重刷)HDU 1874 畅通工程续 + HDU 2544 最短路 最短路水题,dijkstra解法。
floyd解法 今天初看dijkstra,先拿这两题练手,其他变形题还是不是很懂. 模版题,纯练打字... HDU 1874: #include <cstdio> #define MAXN ...
- hdu 2544 最短路 Dijkstra
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2544 题目分析:比较简单的最短路算法应用.题目告知起点与终点的位置,以及各路口之间路径到达所需的时间, ...
- HDU 2544最短路 【dijkstra 链式前向星+优先队列优化】
最开始学最短路的时候只会用map二维数组存图,那个时候还不知道这就是矩阵存图,也不懂得效率怎么样 经过几个月的历练再回头看最短路的题, 发现图可以用链式前向星来存, 链式前向星的效率是比较高的.对于查 ...
- hdu 2544 最短路(两点间最短路径)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2544 方法一:dijkstra算法,求两点之间最短路径. /*********************** ...
随机推荐
- jQuery实现表格隔行换色且感应鼠标高亮行变色
jQuery插件实现表格隔行换色且感应鼠标高亮行变色 http://www.jb51.net/article/41568.htm jquery 操作DOM的基本用法分享http://www.jb51. ...
- 【剑指offer】从尾到头打印链表
我的思路:先翻转链表,再打印. 网上思路:利用栈的后进先出性质:或者用递归,本质也是栈. 我的代码: #include <vector> using namespace std; stru ...
- Axis学习的第一天
下载axis的相关工程包: 选中这2个文件下载: 1)axis-bin-1.4.zip 含有axis工程包,将工程包复制到tomcat里的webapps目录下: 2)axis-src-1.4.zip ...
- linux下如何查看主机的外网ip地址
在linux下如果我们使用的是nat方式上网.通过ifconfig命令查看到的ip地址往往是内网地址 那么如何查看主机在互联网上使用的公网IP呢?我们可以在命令行下使用curl命令实现这个功能. [r ...
- NPOI之Excel——合并单元格、设置样式、输入公式
首先建立一个空白的工作簿用作测试,并在其中建立空白工作表,在表中建立空白行,在行中建立单元格,并填入内容: //建立空白工作簿 IWorkbook workbook = new HSSFWorkboo ...
- Linux Command Line 解析
Linux Command Line 解析 0 处理模型 Linux kernel的启动包括很多组件的初始化和相关配置,这些配置参数一般是通过command line进行配置的.在进行后续分析之前,先 ...
- P2P金融
P2P金融又叫P2P信贷,是互联网金融(ITFIN)的一种.意思是:点对点. P2P金融指不同的网络节点之间的小额借贷交易(一般指个人),需要借助电子商务专业网络平台帮助借贷双方确立借贷关系并完成相关 ...
- 【web性能】web性能测试工具推荐
WEB性能测试工具主要分为三种,一种是测试页面资源加载速度的,一种是测试页面加载完毕后页面呈现.JS操作速度的,还有一种是总体上对页面进行评价分析,下面分别对这些工具进行介绍,如果谁有更好的工具也请一 ...
- 【原创】【ViewFlow+GridView】Parameter must be a descendant of this view问题分析
关于ViewFlow和GridView嵌套导致Parameter must be a descendant of this view问题的解决方案 [关于ViewFlow] ViewFlow是一款 ...
- Spring中 @Autowired注解与@Resource注解的区别
Spring中 @Autowired注解与@Resource注解的区别在Spring 3.X中经常使用到@Autowired和@Resource进行装配.这两个注解的差异在何处???相同点:@Reso ...