【最短路径专题】热浪 (Standard IO)(纪中)

本文介绍了如何使用链式前向星和两种不同的最短路径算法——SPFA(Shortest Path Faster Algorithm)和Dijkstra结合堆优化来解决从起点到终点的最短费用路径问题。作者首先详细解释了数据结构和算法思路,然后给出了AC代码(Accepted Code)实现这两个算法,并分享了在学习和实现堆的过程中遇到的问题及解决方案。文章最后提供了非AC代码以供对比和学习。
摘要由CSDN通过智能技术生成

时间限制: 1000 ms

空间限制: 262144 KB

题目描述

德克萨斯纯朴的民眾们这个夏天正在遭受巨大的热浪!!!他们的德克萨斯长角牛吃起来不错,可是他们并不是很擅长生產富含奶油的乳製品。Farmer John 此时以先天下之忧而忧,后天下之乐而乐的精神,身先士卒地承担起向德克萨斯运送大量的营养冰凉的牛奶的重任,以减轻德克萨斯人忍受酷暑的痛苦。

FJ 已经研究过可以把牛奶从威斯康星运送到德克萨斯州的路线。这些路线包括起始点和终点先一共经过 T ( 1 < = T < = 2 , 500 ) T (1 <= T <= 2,500) T(1<=T<=2,500)个城镇,方便地标号為 1 1 1 T T T。除了起点和终点外的每个城镇由两条双向道路连向至少两个其它的城镇。每条道路有一个通过费用(包括油费,过路费等等)。

给定一个地图,包含 C ( 1 ≤ C ≤ 6 , 200 ) C (1 \le C \le 6,200) C(1C6,200)条直接连接 2 个城镇的道路。每条道路由道路的起点 Rs,终点 R e ( 1 ≤ R s ≤ T ; 1 ≤ R e ≤ T ) Re(1 \le Rs \le T; 1 \le Re \le T) Re(1RsT;1ReT),和花费 ( 1 ≤ C i ≤ 1 , 000 ) (1 \le Ci \le 1,000) (1Ci1,000)组成。求从起始的城镇 T s ( 1 ≤ T s ≤ T ) Ts (1 \le Ts \le T) Ts(1TsT)到终点的城镇 T e ( 1 ≤ T e ≤ T ) Te(1 \le Te \le T) Te(1TeT)最小的总费用。

输入

第一行: 4 个由空格隔开的整数: T , C , T s , T e T, C, Ts, Te T,C,Ts,Te
2 2 2到第 C + 1 C+1 C+1 行: 第 i + 1 i+1 i+1 行描述第 i i i 条道路。有 3 3 3 个由空格隔开的整数: R s , R e Rs, Re Rs,Re C i Ci Ci

输出

一个单独的整数表示从 T s Ts Ts T e Te

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值