最短路模板(dijkstra+邻接表)
来源:互联网 发布:dnf数据芯片会涨价吗 编辑:程序博客网 时间:2024/05/22 19:32
#include<iostream>#include<algorithm>#include<stdio.h>#include<stdlib.h>#include<string.h>#include<queue>#include<math.h>#include<set>#include<vector>using namespace std;#define maxn 550#define MM 10000000int V[maxn];int d[maxn];int fa[maxn];int first[maxn],next[maxn],w[maxn],u[maxn],v[maxn];int n,m;void read_(){ //单向 or 双向均可~ scanf("%d%d",&n,&m); memset(first,-1,sizeof(first)); for(int i=1;i<=m;i++) { scanf("%d%d%d",&u[i],&v[i],&w[i]); next[i]=first[u[i]]; first[u[i]]=i; } //双向路径 for(int i=m+1;i<=2*m;i++) { u[i]=v[i-m]; v[i]=u[i-m]; w[i]=w[i-m]; next[i]=first[u[i]]; first[u[i]]=i; }}void Dijjkstra(){ memset(V,0,sizeof(V)); memset(fa,0,sizeof(fa)); for(int i=1;i<=n;i++) d[i]=(i==1?0:MM); for(int i=1;i<=n;i++) { int x,mm=MM; for(int j=1;j<=n;j++) if(d[j]<mm && !V[j]) mm=d[x=j]; V[x]=1; for(int e=first[x];e!=-1;e=next[e]) { if(d[v[e]]>d[x]+w[e]) { d[v[e]]=d[x]+w[e]; fa[v[e]]=x; } } }}void dfs(int x ) //输出路径{ cout<<x<<endl; if(fa[x]==0) return; else { dfs(fa[x]); if(x==n) cout<<fa[x]; else cout<<fa[x]<<' '; }}int main(){ read_(); Dijjkstra(); dfs(n); //输出路径:可更改终点值。 cout<<' '<<n<<endl; return 0;}其他的模板会陆续上传~
0 0
- 最短路模板(dijkstra+邻接表)
- 最短路模板——dijkstra,SPFA(邻接表实现)
- 最短路 + 邻接表 + 堆优化(模板)(Dijkstra + SPFA)
- poj 1847 最短路 dijkstra模板(vector邻接表+队列优化)
- HDU 2544 最短路(单源最短路 dijkstra / floyd / dijkstra(堆优化)/dijkstra+邻接链表+堆优化)
- spfa求最短路模板(邻接表)
- 最短路 dijkstra模板
- Dijkstra 模板 最短路
- 最短路~dijkstra模板
- 最短路 Dijkstra模板
- 单源最短路(Dijkstra)邻接表实现
- HDU 2544 最短路 静态邻接表+优先队列 dijkstra
- HDU2544_最短路(Dijkstra)(Bellman-Ford)(SPFA+邻接表/邻接矩阵)
- hdoj 2544 最短路 【dijkstra + floyd + spfa邻接表实现】
- hrbust 1339 Touring 最短路Dijkstra 邻接表
- hdu 2544 最短路(Dijkstra 邻接表+优先队列)
- Dijkstra最短路模板(lrj)
- hdu 2544 最短路(Dijkstra模板)
- Python tuple 元组详解
- 阻抗匹配基础
- Android开发——Material Design(设计原则)
- URAL 1146 Maximum Sum(最大子矩阵的和 DP)
- 在c++中虚函数和多态性是什么意思
- 最短路模板(dijkstra+邻接表)
- C++ Primer学习 《Arrays》
- hbase 命令总结
- poj 2418 Hardwood Species(二叉搜索数+中序遍历=排序)
- hdu4689 Turn the pokers 组合
- 电容的单位换算
- 开发iOS 6和iphone5版本与之前版本差异总结
- ALE的应用
- FPGA机器学习之龙星计划机器学习第四堂