problem

  • 给出一个有向图
  • 求从某一点出发到所有点的最短路

solution

SPFA

codes

#include<iostream>
#include<queue>
#include<cstring>
#define maxn 10010
#define maxm 500010
using namespace std;//Grape
int n, m, s;
struct Edge{int v, w, next;}e[maxm<<1];
int tot, head[maxn];
void AddEdge(int u, int v, int w){tot++; e[tot].v=v; e[tot].w=w; e[tot].next=head[u]; head[u]=tot;
}//SPFA
int dist[maxn], book[maxn];
queue<int>q;
void spfa(){for(int i = 1; i <= n; i++)dist[i]=2147483647;dist[s]=0; book[s]=1; q.push(s);while(q.size()){int u = q.front();  q.pop();  book[u]=0;for(int i = head[u]; i > 0; i = e[i].next){int v = e[i].v, w = e[i].w;if(dist[v]>dist[u]+w){dist[v] = dist[u]+w;if(!book[v]){book[v] = 1;  q.push(v);}}}}
}int main(){cin>>n>>m>>s;for(int i = 1; i <= m; i++){int x, y, z; cin>>x>>y>>z; AddEdge(x,y,z);}spfa();for(int i = 1; i <= n; i++)cout<<dist[i]<<' ';return 0;
}

【Luogu3371】【模板】单源最短路径(SPFA)相关推荐

  1. 单源最短路径(spfa)

    题目描述 如题,给出一个有向图,请输出从某一点出发到所有点的最短路径长度. 输入输出格式 输入格式: 第一行包含三个整数N.M.S,分别表示点的个数.有向边的个数.出发点的编号. 接下来M行每行包含三 ...

  2. 图论-单源最短路径算法(拓扑,Dijkstra,Floyd,SPFA)

    前言 单源最短路径是学习图论算法的入门级台阶,但刚开始看的时候就蒙了,什么有环没环,有负权没负权,下面就来总结一下求单源最短路径的所有算法以及其适用的情况. 单源最短路径 设定图中一个点为源点,求其他 ...

  3. 洛谷 P3371 【模板】单源最短路径(弱化版)【最短路】【spfa】

    洛谷 P3371 [模板]单源最短路径(弱化版) 一.题目链接 二.题目分析 (一)算法标签 (二)解题思路 三.AC代码 四.其它题解 一.题目链接 洛谷 P3371 [模板]单源最短路径(弱化版) ...

  4. Luogu 3371【模板】单源最短路径

    Luogu 3371[模板]单源最短路径 第一次写博客用图论题来试一试 接下来是正文部分 题目描述 如题,给出一个有向图,请输出从某一点出发到所有点的最短路径长度. 输入输出格式 输入格式: 第一行包 ...

  5. 【算法】单源最短路径和任意两点最短路径总结(补增:SPFA)

    [Bellman-Ford算法] [算法]Bellman-Ford算法(单源最短路径问题)(判断负圈) 结构: #define MAX_V 10000 #define MAX_E 50000 int ...

  6. 【最短路】【SPFA】单源最短路径 (luogu 3371)

    单源最短路径 luogu 3371 题目大意: 求出一个点到其他点的最短路 原题: 题目背景 本题测试数据为随机数据,在考试中可能会出现构造数据让SPFA不通过,如有需要请移步 P4779. 题目描述 ...

  7. 最短路——【模板】单源最短路径(弱化版)(dijkstra)

    题目链接 最短路--[模板]单源最短路径(弱化版)(dijkstra) 题目描述 如题,给出一个有向图,请输出从某一点出发到所有点的最短路径长度. 输入格式 第一行包含三个整数 n,m,s,分别表示点 ...

  8. P3371 【模板】单源最短路径(弱化版)

    题目 P3371 [模板]单源最短路径(弱化版) 分析 Dijkstra模板题,只不过这里用了链式前向星 AC代码 #include<cstdio> #include<iostrea ...

  9. 洛谷_P3371 【模板】单源最短路径(弱化版)_dijkstra_堆优化

    洛谷_P3371 [模板]单源最短路径(弱化版)_dijkstra_堆优化 // dijkstra最短路算法_堆优化 #include<bits/stdc++.h> using names ...

  10. P4779 【模板】单源最短路径(标准版)

    # [模板]单源最短路径(标准版) ## 题目背景 2018 年 7 月 19 日,某位同学在 [NOI Day 1 T1 归程](https://www.luogu.org/problemnew/s ...

最新文章

  1. for循环10000次花多长时间_我的三菱FX PLC学习之子程序调用与循环
  2. Tomcat7基于Redis的Session共享
  3. iOS网络 AFN简单的下载 与 session下载带进度数据
  4. wordpress靶机快速搭建
  5. Excel 的进阶学习
  6. QT 报 QMetaObject::connectSlotsByName: No matching signal for on_btn_clicked()
  7. Deecamp笔记——点云目标跟踪 Open3D连续可视化
  8. ecplise 设置代码自动提示功能
  9. 【miscellaneous】视频浓缩摘要简介
  10. N! hdu 1042
  11. 服务器系统做成iso镜像,把服务器做成镜像
  12. 运动控制器用c语言怎么编程,三菱运动控制器:Q173HCPU(N)/Q172HCPU(N)系列
  13. 数据库设计--数据流图(DFD)
  14. HDU5616 Jam's balance[背包dp变形]
  15. 永磁同步电机(PMSM)参数辨识(一)
  16. deepin更新失败_深度操作系统deepin 20更新:深度下载器和浏览器
  17. 拉扎维模集英文原版阅读笔记1
  18. 【iOS】对于iPhone5分辨率兼容性调整问题
  19. cdma2000解析_CDMA2000 1x EV-DO 分层协议解析
  20. 支持4K30帧的海鸟4K潜水套装上手体验

热门文章

  1. 一题多解(四)—— 数组中唯一出现 2 次的数
  2. MySQL 安装(msi/zip方式安装)
  3. 数学常用公式及规律、结论(一)
  4. numpy 中的 broadcasting(广播)机制
  5. java中的serializable_Java中的Serializable浅谈,只是浅谈
  6. 学python能做什么类型的工作-学Python Web开发框架到什么程度可以找到开发的工作?...
  7. python 入门基础-如何学习Python,以及新手如何入门?
  8. python编程入门第3版pdf-Python编程入门第3版PDF电子书免费下载
  9. python从入门到精通-终于懂得python从入门到精通教程
  10. 爬虫python能做什么-Python除了能做爬虫之外还能做什么?