当前位置: 首页 > news >正文

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

题目背景

本题测试数据为随机数据,在考试中可能会出现构造数据让 SPFA 不通过,如有需要请移步 P4779。

题目描述

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

输入格式

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

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

输出格式

输出一行 \(n\) 个整数,第 \(i\) 个表示 \(s\) 到第 \(i\) 个点的最短路径,若不能到达则输出 \(2^{31}-1\)

输入输出样例 #1

输入 #1

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

输出 #1

0 2 4 3

说明/提示

【数据范围】
对于 \(20\%\) 的数据:\(1\le n \le 5\)\(1\le m \le 15\)
对于 \(40\%\) 的数据:\(1\le n \le 100\)\(1\le m \le 10^4\)
对于 \(70\%\) 的数据:\(1\le n \le 1000\)\(1\le m \le 10^5\)
对于 \(100\%\) 的数据:\(1 \le n \le 10^4\)\(1\le m \le 5\times 10^5\)\(1\le u,v\le n\)\(w\ge 0\)\(\sum w< 2^{31}\),保证数据随机。

Update 2022/07/29:两个点之间可能有多条边,敬请注意。

对于真正 \(100\%\) 的数据,请移步 P4779。请注意,该题与本题数据范围略有不同。

样例说明:

图片 1 到 3 和 1 到 4 的文字位置调换

题解

最短路算法 spfa 模版题

#include <bits/stdc++.h>
using namespace std;
const int maxn=10004;
const int maxm=500005;
const int INF=0x7fffffff;
int n,m,s;
int head[maxn],v[maxm],nxt[maxm],w[maxm],Dist[maxn],Q[maxn];
bool Flg[maxn];
int main() {cin>>n>>m>>s;for (int i=1;i<=m;i++) {int x,y,z;scanf("%d%d%d",&x,&y,&z);v[i]=y;nxt[i]=head[x];head[x]=i;w[i]=z;}for (int i=1;i<=n;i++) Dist[i]=INF;Dist[s]=0;int f=0,r=1;Q[r]=s;Flg[s]=1;while (f!=r) {f++; if (f==n+1) f=1; int k=Q[f];Flg[k]=0;for (int i=head[k];i!=0;i=nxt[i]) {if (Dist[v[i]]>Dist[k]+w[i]) {Dist[v[i]]=Dist[k]+w[i];if (!Flg[v[i]]) {r++; if (r==n+1) r=1;Q[r]=v[i];Flg[v[i]]=1;}}}}for (int i=1;i<=n;i++) cout<<Dist[i]<<" ";cout<<endl;return 0;
}
http://www.jsqmd.com/news/429338/

相关文章:

  • 2026年蛋白粉哪个品牌最好最安全:口碑实力排名盘点(选购防坑指南) - 品牌排行榜
  • Android新应用帮助用户检测附近的Meta智能眼镜
  • 微软掌门人萨提亚·纳德拉:泡沫的反面是慕尼黑消防局
  • 最短路 - # P4779 【模板】单源最短路径(标准版)
  • 基于Nginx、Java、NFS实现动静分离的前后端分离架构
  • SimpleMindMap 私有部署后cpolar实现远程协作,实用超丝滑。
  • 联合利华任命前员工担任CIO职位负责核心IT运营
  • 【GitHub项目推荐--WiFi DensePose:基于WiFi CSI的隐私保护人体姿态估计系统】⭐⭐⭐⭐⭐
  • 预训练视觉模型赋能强化学习:基于VPT微调在开放世界任务中的样本效率与性能增益分析
  • 【车间调度】基于matlab模拟退火算法考虑在料品和成品库存受资源约束和截止日期影响的无关并行机调度问题UPMSP【含Matlab源码 15099期】
  • MyBatis-Plus的ActiveRecord 模式
  • 【优化配置】基于matlab遗传算法GA配置配电网络IEEE33和69总线【含Matlab源码 15100期】
  • 2026最火Skills技术向入门:分清与Agent的区别,Skills大爆发!掌握这4点,让你的技术工作效率飙升100倍!
  • LLM 算法岗 | 字节面试高频 leetcode 算法题汇总,附 leetcode 链接
  • 搭建电动汽车直线制动ABS模型:MATLAB/Simulink实践指南
  • Task06:秋招秘籍 B
  • 3月3日直播 | 基于下一代Ascend平台的纯SIMT编程介绍
  • 【UI自动化测试】7_Appium基础API _元素定位
  • 最短路 - [USACO09NOV] Job Hunt S
  • DOA-CNN-LSTM分类预测+SHAP分析+特征依赖图!深度学习可解释分析,Matlab代码实现
  • Task06:秋招秘籍 C
  • Task04:集合运算
  • 求职】网络工程专业简历怎么写?校招/社招通用模板(附可直接复制写法)
  • Task06:秋招秘籍 A
  • 人生第一份简历——2025年春
  • Task05:SQL高级处理
  • AT_arc199_a [ARC199A] Flip Row or Col 2
  • Task02:基础查询与排序(一)
  • Task03:复杂一点的查询(二)
  • 提示工程ROI评估与风险控制:架构师教你怎么平衡收益与风险