
【luogu3371】【图论】【最短路】【模板】单源最短路径(弱化版)
发布日期:2021-05-07 00:22:59
浏览次数:28
分类:精选文章
本文共 1308 字,大约阅读时间需要 4 分钟。
题目背景
本题测试数据为随机数据,在考试中可能会出现构造数据让SPFA不通过,如有需要请移步 P4779。
题目描述如题,给出一个有向图,请输出从某一点出发到所有点的最短路径长度。
输入格式第一行包含三个整数 n , m , s n,m,s n,m,s,分别表示点的个数、有向边的个数、出发点的编号。
接下来 mmm 行每行包含三个整数 u , v , w u,v,w u,v,w,表示一条 u → v u \to v u→v 的,长度为 www 的边。
输出格式输出一行 n n n 个整数,第 i i i 个表示 s s s 到第 i i i 个点的最短路径,若不能到达则输出 2 31 − 1 2^{31}-1 231−1。
输入输出样例 输入 #14 6 11 2 22 3 22 4 11 3 53 4 31 4 4
输出 #1
0 2 4 3
说明/提示
【数据范围】
对于 20 % 20\% 20% 的数据: 1 ≤ n ≤ 5 1\le n \le 5 1≤n≤5, 1 ≤ m ≤ 15 1\le m \le 15 1≤m≤15; 对于 40 % 40\% 40% 的数据: 1 ≤ n ≤ 100 1\le n \le 100 1≤n≤100, 1 ≤ m ≤ 1 0 4 1\le m \le 10^4 1≤m≤104; 对于 70 % 70\% 70% 的数据: 1 ≤ m ≤ 1000 1\le m \le 1000 1≤m≤1000, 1 ≤ m ≤ 1 0 5 1\le m \le 10^5 1≤m≤105; 对于 100 % 100\% 100% 的数据: 1 ≤ n ≤ 1 0 4 1 \le n \le 10^4 1≤n≤104, 1 ≤ m ≤ 5 × 1 0 5 1\le m \le 5\times 10^5 1≤m≤5×105,保证数据随机。对于真正 100 % 100\% 100% 的数据,请移步 P4779。请注意,该题与本题数据范围略有不同。
样例说明:

图片1到3和1到4的文字位置调换
解题思路
模板
#include#include #include #include using namespace std;const int maxn=0x7fffffff;struct DT{ int to,l,next;}a[600000];int dis[20000],head[20000],n,m,k,num;queue v;int h,t,f[20000];void SPFA(int s){ memset(dis,0x7f,sizeof(dis)); v.push(s); h=0,t=1,dis[s]=0,f[s]=1; while(!v.empty()){ for(int i=head[v.front()];i;i=a[i].next){ if(dis[v.front()]+a[i].l
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2025年03月24日 14时18分06秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
基于LabVIEW的入门指南
2019-03-05
weblogic之cve-2015-4852
2019-03-05
Java注释
2019-03-05
C++ 函数重载
2019-03-05
使用mybatis-generator生成底层
2019-03-05
Mybatis【5】-- Mybatis多种增删改查那些你会了么?
2019-03-05
计算输入的一句英文语句中单词数
2019-03-05
lvs+keepalive构建高可用集群
2019-03-05
6 个 Linux 运维典型问题
2019-03-05
取消vim打开文件全是黄色方法
2019-03-05
一个系统部署多个tomcat实例
2019-03-05
HP服务器设置iLO
2019-03-05
从头实现一个WPF条形图
2019-03-05
使用QT实现一个简单的登陆对话框(纯代码实现C++)
2019-03-05
QT :warning LNK4042: 对象被多次指定;已忽略多余的指定
2019-03-05
GLFW 源码 下载-编译-使用/GLAD配置
2019-03-05
针对单个网站的渗透思路
2019-03-05
Typescript 学习笔记六:接口
2019-03-05
02、MySQL—数据库基本操作
2019-03-05