bellman-ford的一般形式(下一站:spfa)
来源:互联网 发布:君麻吕实力 知乎 编辑:程序博客网 时间:2024/06/05 23:45
这两天都没有怎么敲题,被两题卡了整整两天,有点惭愧!好吧,会努力的,该放弃的还是要放弃的,不过有时候还是要坚持的,自信还是要有的。好的,废话就不多说了,下面就简单说说bellman-ford,主要参考了小白书,谢谢lrj大神吧!bellman主要是从边的角度来考虑的,存图的形式主要以存边为主。(说实话bellman我不怎么用,但还是觉得多一种思考方式,也不是坏事)就直接上代码:会在代码中给出部分解释:
#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>using namespace std;const int maxn=10005;const int INF=0x3f3f3f3f;int u[maxn],v[maxn],w[maxn];int dis[maxn];int bellmanF(int from ,int to,int n,int m){ memset(dis,INF,sizeof(dis)); dis[from]=0; for(int i=0;i<n;i++){ //做n次松弛操作; for(int k=0;k<m;k++){ //依次检查m条边; int x=u[k],y=v[k]; if(dis[x]<INF) dis[y]=min(dis[y],dis[x]+w[k]); //松弛; } } //for(int i=0;i<=n;i++)printf("%d : %d\n",i,dis[i]); return dis[to];}int main(){ int n,m; while(~scanf("%d%d",&n,&m)){ int from ,to,len; for(int i=0;i<m;i++){ scanf("%d%d%d",&from ,&to,&len); u[i]=from,v[i]=to; w[i]=len; } scanf("%d%d",&from,&to); bellmanF(from ,to, n,m); printf("%d \n",dis[to]); } return 0;}
0 0
- bellman-ford的一般形式(下一站:spfa)
- HDU1874(Bellman-Ford,SPFA)
- 最短路 SPFA (对于bellman-ford 的优化)
- bellman-ford算法的优化spfa算法
- Bellman-Ford算法的改进:SPFA算法
- Floyd、Dijkstra、Bellman-Ford、SPFA的比较
- Floyd、Dijkstra、Bellman-Ford、SPFA的比较
- Floyd、Dijkstra、Bellman-Ford、SPFA的比较
- Floyd、Dijkstra、Bellman-Ford、SPFA的比较
- SPFA(bellman-ford的队列优化)
- spfa--Bellman-Ford的队列优化
- poj 3259 Wormholes(SPFA || Bellman-Ford)
- POJ 3259 Wormholes (SPFA&&BellMan Ford)
- SPFA算法 (基于Bellman-Ford算法)
- Bellman-Ford&SPFA算法
- Bellman-Ford || SPFA :Wormholes
- Bellman-ford Spfa hihocoder1903
- bellman-ford and SPFA
- 【我来解惑】.Net应该学什么怎么学(三)
- 一个简单的异或代码
- ZOJ1713
- python爬虫网站mark
- [算法导论]快速排序
- bellman-ford的一般形式(下一站:spfa)
- javaEE学习—SSH学习前奏
- Ping详细过程
- CSS鼠标手势
- 每天3题,一题解题报告@yewleb
- 常用高速公路车检器的种类及其优缺点
- JS Date()函数用法
- java编程中的几种注释
- 求旅行者旅行费用问题