1379:热浪(heatwv)(SPFA单源最短路)
德克萨斯纯朴的民众们这个夏天正在遭受巨大的热浪!!!
他们的德克萨斯长角牛吃起来不错,可是它们并不是很擅长生产富含奶油的乳制品。
农夫John此时身先士卒地承担起向德克萨斯运送大量的营养冰凉的牛奶的重任,以减轻德克萨斯人忍受酷暑的痛苦。
John已经研究过可以把牛奶从威斯康星运送到德克萨斯州的路线。
这些路线包括起始点和终点一共有 TT 个城镇,为了方便标号为 11 到 TT。
除了起点和终点外的每个城镇都由 双向道路 连向至少两个其它的城镇。
每条道路有一个通过费用(包括油费,过路费等等)。
给定一个地图,包含 CC 条直接连接 22 个城镇的道路。
每条道路由道路的起点 RsRs,终点 ReRe 和花费 CiCi 组成。
求从起始的城镇 TsTs 到终点的城镇 TeTe 最小的总费用。
输入格式
第一行: 44 个由空格隔开的整数: T,C,Ts,TeT,C,Ts,Te;
第 22 到第 C+1C+1 行: 第 i+1i+1 行描述第 ii 条道路,包含 33 个由空格隔开的整数: Rs,Re,CiRs,Re,Ci。
输出格式
一个单独的整数表示从 TsTs 到 TeTe 的最小总费用。
数据保证至少存在一条道路。
数据范围
1≤T≤25001≤T≤2500,
1≤C≤62001≤C≤6200,
1≤Ts,Te,Rs,Re≤T1≤Ts,Te,Rs,Re≤T,
1≤Ci≤10001≤Ci≤1000
输入样例:
7 11 5 4
2 4 2
1 4 3
7 2 2
3 4 3
5 7 5
7 3 3
6 1 1
6 3 4
2 4 3
5 6 3
7 2 1
输出样例:
7
#include <cstring>
#include <iostream>
#include <algorithm>
#include <queue>using namespace std;const int N = 100010;int T,C,be,en;int h[N], w[N], e[N], ne[N], idx;
int dist[N];
bool st[N];void add(int a, int b, int c)
{e[idx] = b, w[idx] = c, ne[idx] = h[a], h[a] = idx ++ ;
}int spfa()
{memset(dist, 0x3f, sizeof dist);dist[be] = 0;queue<int> q;q.push(be);st[be] = true;while (q.size()){int t = q.front();q.pop();st[t] = false;for (int i = h[t]; i != -1; i = ne[i]){int j = e[i];if (dist[j] > dist[t] + w[i]){dist[j] = dist[t] + w[i];if (!st[j]){q.push(j);st[j] = true;}}}}return dist[en];
}int main()
{scanf("%d%d%d%d", &T,&C,&be,&en);memset(h, -1, sizeof h);while (C -- ){int a, b, c;scanf("%d%d%d", &a, &b, &c);add(a, b, c);add(b, a, c);}int t = spfa();printf("%d\n", t);return 0;
}
1379:热浪(heatwv)(SPFA单源最短路)相关推荐
- spfa 单源最短路究极算法
学习博客链接:SPFA 求单源最短路的SPFA算法的全称是:Shortest Path Faster Algorithm. SPFA算法是西南交通大学段凡丁于1994年发表的. 从名 ...
- 蓝桥杯最短路(java过)spfa单源最短路算法
spfa 百度百科上spfa的思路为:动态逼近法:设立一个先进先出的队列用来保存待优化的结点,优化时每次取出队首结点u,并且用u点当前的最短路径估计值对离开u点所指向的结点v进行松弛操作,如果v点的最 ...
- 算法提高课-图论-差分约束- AcWing 1169. 糖果:spfa求单源最短路、差分约束
文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: 差分约束系统 差分约束系统是一种特殊的N元一次不等式组.它包含N个变量X1,...,XnX_1,...,X_nX1,...,Xn ...
- 单源最短路 Dijkstra算法 和 SPFA算法
单源最短路 •从一个点出发,到达其他顶点的最短路径的长度. •基本操作:松弛 •d[u]+map[u, v]< d[v]这样的边(u,v)称为紧的(tense),可以对它进行松弛(relax): ...
- SPFA求单源最短路(邻接表)
SPFA 介绍 SPFA(Shortest Path Faster Algorithm)(队列优化)算法是求单源最短路径的一种算法,在Bellman-ford算法的基础上加上一个队列优化,减少了冗余的 ...
- acwing单源最短路的建图模式总结
.根据边权的范围以及问题求解的需要,最短路问题可以分为以下 4 种情形,分别用不同的算法求解. • 单源最短路径(固定一个顶点为原点,求源点到其他每个顶点 的最短路径) • 1. 边权非负:Dijks ...
- 系兄弟就来砍我 有向图单源最短路
系兄弟就来砍我 时间限制: 1 Sec 内存限制: 128 MB 题目描述 渣渣灰因为一句"大家好,我系渣渣辉,系兄弟就来砍我"引得众粉丝纷纷拿两米长的大刀寻找. 现有n个据点, ...
- 邻接矩阵和邻接表_[力扣743] 带权邻接表的单源最短路
题目链接 743. 网络延迟时间 题目描述 有 N 个网络节点,标记为 1 到 N. 给定一个列表 times,表示信号经过有向边的传递时间. times[i] = (u, v, w),其中 u 是源 ...
- dijkstra邻接表_[力扣743] 带权邻接表的单源最短路
题目链接 743. 网络延迟时间 题目描述 有 N 个网络节点,标记为 1 到 N. 给定一个列表 times,表示信号经过有向边的传递时间. times[i] = (u, v, w),其中 u 是源 ...
最新文章
- 普通二叉树、二叉查找树、平衡二叉树常见操作汇总
- moss自定义内容查询webpart
- Linux rpm 命令参数
- LoRa 之一 旧版驱动(sx12xxDrivers-V2.1.0)移植及驱动架构详解
- mysql中使用CONCAT 实现拼接
- 菜鸟教程 之 JavaScript 函数(function)
- 虚函数表 对C++ 了解的人都应该知道虚函数
- 基于ASP.NET MVC框架开发Web论坛应用程序
- import python settings from_python settings 中通过字符串导入模块
- spring mvc 提供的几个常用的扩展点
- Django 简易实现用户保持登录状态2月
- uniapp 获取时间戳
- cdr2020永久序列号及试用过期解决
- 《计算机组成与设计(ARM版)》读书笔记-第二章指令1
- java switch语句_Java switch语句
- 手机端获取用户详细地理位置(腾讯地图/高德)
- 一位Java工程师的阶段性工作总结
- CS:APP CH02信息的表示和处理知识点总结
- mac SnailSVN如何拉取多个svn副本
- android运行报错:File-based resource names must contain only lowercase a-z, 0-9