最短路
来源:互联网 发布:机房网络管理 编辑:程序博客网 时间:2024/06/05 08:38
迪杰斯克拉:
#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>#include<vector>using namespace std;#define maxn 100002#define INF 100000000struct e{ int b,c; }; int n,m;int dis[maxn];bool pd[maxn];vector<e>g[maxn];int main(){ios::sync_with_stdio(false);int i,j;int a,b,c;cin>>n>>m;for(i=1;i<=m;i++){cin>>a>>b>>c;g[a].push_back((e){b,c});}for(i=1;i<=n;i++)dis[i]=INF;dis[1]=0;pd[1]=1;for(i=0;i<g[1].size();i++){dis[g[1][i].b]=g[1][i].c;}int minn=INF,k;for(i=1;i<=n-1;i++){k=0;minn=INF;for(j=1;j<=n;j++){if(minn>dis[j]&&!pd[j]){minn=dis[j];k=j;}}if(k==0)break;pd[k]=1;for(j=0;j<g[k].size();j++){e x=g[k][j];if(dis[k]+x.c<dis[x.b]){dis[x.b]=dis[k]+x.c;}}}cout<<dis[n];return(0);}
spfa:%拜神犇lcy
//优先队列sillyB 修炼得永生 #include<cstdio>#include<iostream>#include<algorithm>#include<vector>#include<queue>using namespace std;#define maxn 100002#define INF 100000000struct e{ int b,c; }; int n,m;int dis[maxn];vector<e>g[maxn];int main(){ios::sync_with_stdio(false);int i,j;int a,b,c;cin>>n>>m;for(i=1;i<=m;i++){cin>>a>>b>>c;g[a].push_back((e){b,c});}for(i=1;i<=n;i++)dis[i]=INF;dis[1]=0;priority_queue<pair<int,int> >q;q.push(make_pair(0,1));while(q.size()){int u=q.top().second;q.pop();for(i=0;i<g[u].size();i++){e & x=g[u][i];if(dis[x.b]>dis[u]+x.c){dis[x.b]=dis[u]+x.c;q.push(make_pair(-dis[x.b],x.b));}}}cout<<dis[n];return(0);}
1 0
- 最短路 & 次短路
- 最短路
- 最短路
- 最短路
- 最短路
- 最短路
- 最短路
- 最短路
- 最短路
- 最短路
- 最短路
- 最短路
- 最短路
- 最短路
- 最短路
- 最短路
- 最短路
- 最短路
- 面试题9
- POJ 3744 Scout YYF I(概率DP)
- bootstrap中的技巧小结
- 安装数据库注意要点
- 在ios系统中查看模拟器和真机中的沙盒目录
- 最短路
- Java File类功能扩展
- vs 调试技巧 1
- struct file 和 struct file_struct
- React native 移植原生android module
- Wordpress图片显示模糊的问题
- linux之echo详解
- 通过packgername 启动browser
- Java后端WebSocket的Tomcat实现