题目链接

最短路——最短路(spfa)

题目描述

简单暴力的题目要求:
给定一个有n个顶点(从1到n编号),m条边的有向图(其中某些边权可能为负,但保证没有负环)。请你计算从1号点到其他点的最短路。

输入描述

第一行两个整数n, m。
接下来的m行,每行有三个整数u, v, l,表示u到v有一条长度为l的边。

输出描述

共n-1行,第i行表示1号点到i+1号点的最短路。

示例

输入

3 3
1 2 -1
2 3 -1
3 1 2

输出

-1
-2

说明

对于10%的数据,n = 2,m = 2。
对于30%的数据,n <= 5,m <= 10。
对于100%的数据,1 <= n <= 20000,1 <= m <= 200000,-10000 <= l <= 10000,保证从任意顶点都能到达其他所有顶点。

因为存在负边,所以用 spfa 算法。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int inf=0x3f3f3f3f;
const int maxn=2e5+5;
int dis[maxn],vis[maxn];struct node{int v,l;
}edge;vector<node> e[maxn];void spfa(int k)
{queue<int> q;q.push(k);dis[k]=0;while(!q.empty()){int p=q.front();q.pop();vis[p]=0;for(int i=0;i<e[p].size();i++){int t=e[p][i].v;int d=e[p][i].l;if(dis[t]>dis[p]+d){dis[t]=dis[p]+d;if(!vis[t]){vis[t]=1;q.push(t);}}}}
}int main()
{int n,m;cin>>n>>m;memset(dis,inf,sizeof(dis));for(int i=0;i<m;i++){int a,b,c;cin>>a>>b>>c;edge.v=b;edge.l=c;e[a].push_back(edge);}spfa(1);for(int i=2;i<=n;i++){cout<<dis[i]<<endl;}return 0;
}

最短路——最短路(spfa)相关推荐

  1. [图论]最短路计数(spfa)

    最短路计数 Description 给出一个NN个顶点MM条边的无向无权图,顶点编号为1-N1−N.问从顶点11开始,到其他每个点的最短路有几条. Input 第一行包含22个正整数N,MN,M,为图 ...

  2. 最短路——最短路计数(spfa)

    题目链接 最短路--最短路计数(spfa) 题目描述 给出一个 N 个顶点 M 条边的无向无权图,顶点编号为 1-N.问从顶点 1 开始,到其他每个点的最短路有几条. 输入格式 第一行包含 2 个正整 ...

  3. pku2449第K短路 最短路+A*

    题意:求一点至另一点的第K短路.注意如果起点和终点一样的话,那么刚开始起点不算到达终点. 分析:寻找最短路,直接SPFA就可以了...这里是第K短路,把每一条路径都找出来.开始想用DP,dp[i][j ...

  4. 蓝桥杯最短路(java过)spfa单源最短路算法

    spfa 百度百科上spfa的思路为:动态逼近法:设立一个先进先出的队列用来保存待优化的结点,优化时每次取出队首结点u,并且用u点当前的最短路径估计值对离开u点所指向的结点v进行松弛操作,如果v点的最 ...

  5. 【最短路】【spfa】小vijos P1447 Updown

    小vijos P1447 Updown 背景 开启了升降梯的动力之后,探险队员们进入了升降梯运行的那条竖直的隧道,映入眼帘 的是一条直通塔顶的轨道.一辆停在轨道底部的电梯.和电梯内一杆控制电梯升降的巨 ...

  6. 洛谷P1144-最短路计算【日常最短路,日常图论,SPFA】

    题目 一个无向图,求点1到每个点的最短路的路径数量 输入 5 7(5个点,7条边) 1 2(表示1到2有边) 1 3 2 4 3 4 2 3 4 5 4 5 输出 (答案mod100003) 1 1 ...

  7. 【SPFA】【最短路/次短路】GF打Dota

    GF打Dota 题目大意: 求一个点到另一个点的最短路或次短路 原题: 题目描述 众所周知,GF同学喜欢打dota,而且打得非常好.今天GF和Spartan同学进行了一场大战.现在GF拿到一张地图,地 ...

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

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

  9. 【图论】【最短路】【SPFA】【USACO题库】2.4.4 Bessie Come Home回家(jzoj 1274)

    Bessie Come Home回家 题目大意: 有n条路连接着一些牧场,每个牧场由'a-z'(没羊)和'A-Y'(有一头羊),问哪个有羊的牧场离'Z'最近 INPUT FORMAT 第 1 行: 整 ...

最新文章

  1. oracle 控制文件在哪里设置_从Oracle到PostgreSQL:最全控制文件
  2. vue更新数组和对象
  3. Maven添加本地Jar包方案1
  4. C语言中字符串常用函数--strcat,strcpy
  5. windows下QtSDK/QTCreator安装
  6. ubuntu14.04部署Ganglia
  7. vs安卓开发发布_向华为的鸿蒙看齐,谷歌发布全新系统,手机电脑通用
  8. C语言编译器有哪些?
  9. 【语言处理与Python】1.2将文本当作词链表
  10. 躺平,躺下就能赢吗?
  11. 科研工作者结合实验与计算机模拟,理论物理前沿重点实验室
  12. 苹果全面开放漏洞奖励计划:最高100万美元等你拿
  13. HTTP中ip地址伪造的问题以及解决办法
  14. 【赛尔AAAI2021】小样本学习下的多标签分类问题初探
  15. python如何将数组里的数提取出来_python – 从数组数组中提取数组
  16. Android 线程状态
  17. 每周分享第 38 期
  18. 如何bat修改dns
  19. [FineReport帆软]决策报表frm中实现添加监控声音报警
  20. Win10文件夹中图片不显示预览图解决方法

热门文章

  1. Angular入门到精通系列教程(6)- Angular的升级
  2. ZYNQ开发系列——hw_platform包和BSP包中的一些理解
  3. 开发者在国内如何白嫖AWS服务器一年时间,怎样通过SSH工具连接AWS?免费的服务器有什么样的限制?
  4. 只要35+的程序员,招聘广告开始玩噱头?
  5. AttributeError: The vocab attribute was removed from KeyedVector in Gensim 4.0.0.
  6. uni-app(Vue.js)创建运行微信小程序
  7. 解决微信小程序 app onLaunch异步请求,在没有请求执行完就加载首页了的问题
  8. echats 柱状图的点击事件及高亮
  9. 为什么引入非线性激励函数?
  10. 一、创建线程的三种方式