#include<iostream>
#include<cstdio>
#include<utility>
#include<queue>
#include<cstring>
using namespace std;
#define INF 1000000000
int d[20005];
int n,m,a,b,c;
int u[200005];
int v[200005];
int l[200005];
int nxt[200005]; // next[e] 记录e的下一条边的标号
int first[20005]; // first[u] 是u的"第一条" 边的编号
int vis[20005];
int min(int a,int b){
return a<b?a:b;
}
int main(){
cin>>n>>m;
for(int i=0;i<=n;i++)
first[i]=-1;
for(int i=1;i<=m;i++){
scanf("%d%d%d",&u[i],&v[i],&l[i]);
nxt[i]=first[u[i]];
first[u[i]]=i;
}
for(int i=1;i<=n;i++)
d[i]=(i==1?0:INF);
memset(vis, 0, sizeof(vis));
queue<int> q;
q.push(1);
while(!q.empty()){
int x=q.front();
q.pop();
vis[x]=0;
for(int e=first[x];e!=-1;e=nxt[e]){
if(d[v[e]]>d[x]+l[e]){
d[v[e]]=d[x]+l[e];
if(!vis[v[e]]){
vis[v[e]]=1;
q.push(v[e]);

}
}
}
}
for(int i=1;i<=n;i++)
cout<<d[i]<<endl;
return 0;

}

5 7
1 2 2
1 5 10
2 3 3
2 5 7
3 4 4
4 5 5
5 3 6

转载于:https://www.cnblogs.com/13224ACMer/p/4633291.html

bellman ford优先队列优化简介模板相关推荐

  1. bellman ford 算法 判断是否存在负环

    Flyer 目录视图 摘要视图 订阅 微信小程序实战项目--点餐系统        程序员11月书讯,评论得书啦        Get IT技能知识库,50个领域一键直达 关闭 bellman for ...

  2. Bellman——Ford算法

    Bellman--Ford 算法介绍 思路讲解 案例分析与代码实现 案例分析 代码实现 优先队列优化(SPFA) 优化原理 代码实现 算法介绍 我们知道Dijkstra算法只能用来解决正权图的单源最短 ...

  3. Dijkstra算法堆/优先队列优化

    Dijkstra算法堆/优先队列优化 前言 额外知识简介 堆与优先队列 STL库 重载 Dijkstra分析及优化 分析优化 代码实现 存储结构 边 点 优先队列 函数 初始化 添加边 Dijkstr ...

  4. dijkstra 的优先队列优化

    既然要学习算法,就要学习到它的精髓,才能够使用起来得心应手. 我还是远远不够啊. 早就知道,dijkstra 算法可以用优先队列优化,我却一直不知道该怎样优化.当时,我的思路是这样的:假设有n个顶点, ...

  5. SPFA or bellman ford松弛法--单源最短路

    问题概述:有编号1-n的n个站点,有m条公交车路线,公交车只从一个起点站直接到达终点站,是单向的且每条路线有它自己的车费,有P个人早上从1出发,他们要到达每一个公交站点,然后到了晚上再返回点1,求所有 ...

  6. Bellman Ford算法详解

    一.用途 1. Bellman Ford算法是解决拥有负权边最短路问题的方法之一.还有一种方法是SPFA算法. 2. 二者相比,SPFA算法在效率方面是优于Bellman Ford算法的.但在某些情况 ...

  7. LeetCode 787. K 站中转内最便宜的航班(图/Bellman Ford算法)

    文章目录 贝尔曼-福特算法(Bellman-Ford) 简介 算法思想 算法执行过程 应用 题目描述 分析 代码 LeetCode 787. K 站中转内最便宜的航班 题目描述 Bellman For ...

  8. P2048 [NOI2010] 超级钢琴(ST表 + 优先队列优化)

    P2048 [NOI2010] 超级钢琴 题目 小 Z 是一个小有名气的钢琴家,最近 C 博士送给了小 Z 一架超级钢琴,小 Z 希望能够用这架钢琴创作出世界上最美妙的音乐. 这架超级钢琴可以弹奏出 ...

  9. 2018南京网络赛L题 Magical Girl Haze(分层图+优先队列优化的dijkstra)

    使用优先队列优化过的dijkstra时间复杂度可以达到O(v*logn),还是很快的. #include <iostream>                //最好是用long long ...

最新文章

  1. 3月到9月之9月到12月
  2. 如何防止同一账号多次登录
  3. 【增强】FI行项目报表增强任意字段
  4. typora export to word is excellent
  5. Go进阶(9): For Range 性能研究
  6. java游戏模拟器mx5_OPPO华为VIVO魅族金立电脑手游安卓模拟器官方下载
  7. 用python实现流程自动化_Python自动化开发 - 流程控制
  8. 22岁印度大学生获谷歌天价offer,击败6000人年薪百万
  9. 199. Binary Tree Right Side View
  10. 项目的权限设计的小计
  11. 总感觉这个访问量过于均匀……
  12. CSPS2019Day1T2(括号树)题解
  13. The Elder(hdu 5956 树上斜率dp + 队列还原)
  14. java graphics2d 乱码_Graphics2D 中文乱码
  15. 打入苹果ipad的大陆芯片供应商
  16. 电音(5)Bass类电音
  17. win10 无线鼠标卡顿,跳帧
  18. 基于51 手机遥控的蓝牙小车(HC-05)
  19. 电大 学位英语 计算机 资料,电大学位英语资料整理完整
  20. CTF-实验吧-FALSE

热门文章

  1. 生物聚集细胞生物化学反应的组织者Biomolecular condensates: organizers of cellular biochemistry
  2. wxpython多线程 假死_wxpython多线程防假死与线程间传递消息实例详解
  3. python acme_使用 acme-tiny 工具生成 Let's Encrypt 的免费 SSL 证书
  4. 系统学习数字图像处理之形态学分析
  5. 计算机设计类自我诊断意见,汽车故障自我诊断.doc
  6. idea查找类 方法在哪里被使用
  7. 勒索软件Locky最新传播载体分析——中文版Office危在旦夕
  8. Spring Annotation是怎么工作的?
  9. [数分提高]2014-2015-2第9教学周第2次课 (2015-04-30)
  10. 常见排序算法:归并排序