题目链接

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

题目描述

如题,给出一个有向图,请输出从某一点出发到所有点的最短路径长度。

输入格式

第一行包含三个整数 n,m,s,分别表示点的个数、有向边的个数、出发点的编号。

接下来 m 行每行包含三个整数 u,v,w,表示一条 u→v 的,长度为 w 的边。

输出格式

输出一行 n 个整数,第 i 个表示 s 到第 i 个点的最短路径,若不能到达则输出 231-1。

输入输出样例

输入

4 6 1
1 2 2
2 3 2
2 4 1
1 3 5
3 4 3
1 4 4

输出

0 2 4 3

#include<bits/stdc++.h>
#define pii pair<int,int>
using namespace std;
const int maxn=500005;
int n,m,s,u,v,w;struct node{int to,len;
};vector<node> f[maxn];
long long dis[maxn];
int vis[maxn];void dijkstra(int t)
{priority_queue<pii,vector<pii>,greater<pii> > q;dis[t]=0;q.push(pii(0,t));while(!q.empty()){pii x=q.top();q.pop();int tt=x.second;if(vis[tt]){continue;}vis[tt]=1;for(int i=0;i<f[tt].size();i++){node a=f[tt][i];if(dis[a.to]>dis[tt]+a.len){dis[a.to]=dis[tt]+a.len;q.push(pii(dis[a.to],a.to));}}}
}int main()
{cin>>n>>m>>s;for(int i=0;i<m;i++){cin>>u>>v>>w;f[u].push_back({v,w});}for(int i=1;i<=n;i++){dis[i]=2147483647;}memset(vis,0,sizeof(vis));dijkstra(s);for(int i=1;i<=n;i++){printf("%lld ",dis[i]);}return 0;
}

最短路——【模板】单源最短路径(弱化版)(dijkstra)相关推荐

  1. p3371 单源最短路径(弱化版)-java题解-最短路

    弱化版传送门: P3371 [模板]单源最短路径(弱化版) - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目背景 本题测试数据为随机数据,在考试中可能会出现构造数据让SPFA不通 ...

  2. p4779 单源最短路径(标准版)-java版

    传送门: P4779 [模板]单源最短路径(标准版) - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P4779 先给 ...

  3. 图论(四)------非负权有向图的单源最短路径问题,Dijkstra算法

    Dijkstra算法解决了有向图G=(V,E)上带权的单源最短路径问题,但要求所有边的权值非负. Dijkstra算法是贪婪算法的一个很好的例子.设置一顶点集合S,从源点s到集合中的顶点的最终最短路径 ...

  4. 用java编写的一个迪杰斯特拉算法(单源最短路径算法,Dijkstra算法)。

    可以用于有向图和无向图.用负数表示该有向路不通.在EditPlus上写的,所以就一个.java文件. package Test;import java.util.TreeMap; import jav ...

  5. 单源最短路径问题(dijkstra算法)

    一.问题描述 给定一个随机带权有向图,每条边的权是一个实数.另外给定图中一个顶点,称为源.计算源到各顶点的最短路径长度(即距离),要求能随机生成图,随机指定源点计算出到顶点的最短距离. 二.解题思路 ...

  6. 单源最短路径(spfa,Dijkstra, bellman-ford)

    目录 Dijkstra 原理:基于贪心. 为什么 Dijkstra 不能处理有负边的情况 Bellman-ford 原理:动态规划, 实质见floyd的另一篇博客 1,能找负环, 2,有变数限制的最短 ...

  7. 单源最短路径问题(Java)

    单源最短路径问题(Java) 文章目录 单源最短路径问题(Java) 1.问题描述 2.算法思路 3.代码实现 4.算法正确性和计算复杂性 4.1 贪心选择性质 4.2 最优子结构性质 4.3 计算复 ...

  8. 【算法】Dijkstra算法(单源最短路径问题) 邻接矩阵和邻接表实现

    Dijkstra算法可使用的前提:不存在负圈. 负圈:负圈又称负环,就是说一个全部由负权的边组成的环,这样的话不存在最短路,因为每在环中转一圈路径总长就会边小. 算法描述: 1.找到最短距离已确定的顶 ...

  9. JAVA编程求单源最短路径_【算法】单源最短路径——dijkstra算法

    一,概念 单源最短路径 给定一个带权有向图G=(V,E),其中每条边的权是一个实数.另外,还给定V中的一个顶点,称为源.要计算从源到其他所有各顶点的最短路径长度.这里的长度就是指路上各边权之和.这个问 ...

  10. 算法导论-上课笔记11:单源最短路径

    文章目录 0 前言 0.1 最短路径的几个变体 0.2 最短路径的最优子结构 0.3 负权重的边 0.4 环路 0.5 最短路径的表示 0.6 松弛操作 0.7 最短路径和松弛操作的性质 1 Bell ...

最新文章

  1. 参加java培训都有哪些学习阶段
  2. 开发提交审核流程_小游戏上线发布全流程详解?
  3. Hibernate4一对一关系映射(共享主键方式)
  4. 简述css属性选择器的几种定义方式_CSS 属性选择器详解
  5. ITK:将颜色图应用于标签图并将其叠加在图像上
  6. MapReduce实例(数据去重)
  7. php 计时器microtime 以及去掉数组重复值array_unique
  8. beetl的使用感受
  9. 《数据结构上机实验(C语言实现)》笔记(2 / 12):线性表
  10. matlab的四维图像数据可视化
  11. 关于SpringBoot下template文件夹下html页面访问的一些问题
  12. springboot整合redisson实现多种分布式锁
  13. 玲珑杯#3 G 1043 - G. Quailty and Square Counter【线段树-卡常数】
  14. spss26没有典型相关性分析_SPSS执行典型相关性分析,出现下面错误,怎么回事??...
  15. 计算机系十周年聚会邀请函,十周年同学聚会邀请函
  16. 爬虫工程师是干嘛的?Python爬虫工程师需要掌握哪些技能?
  17. IGMP协议(IGMPv1、IGMPv2、IGMPv3)
  18. 高光谱图像压缩方法综述
  19. Python个人项目1 --------电商项目
  20. 虚拟地址 虚拟内存 物理地址

热门文章

  1. Go语言bits包的位运算操作基础
  2. 从 jQuery 获取元素名(tagName)
  3. 文件打开方式关联错误解决方法
  4. Linux之网络管理——修改IP地址(动态变静态)
  5. 大量大学视频教程,要自学充电的朋友好好看看了
  6. webapi输出炜json_C# WebApi 返回JSON
  7. RIP是个什么样的协议?
  8. PwnTheBox(Crypto篇)---Rsa(爆破e)
  9. 微信中无法打开App下载地址的解决办法
  10. 赢在中国史玉柱的点评—史玉柱语录