- 博客(3)
- 收藏
- 关注
原创 1030 Travel Plan PAT 甲级 记录最短路径的最短路Dijkstra
思路分析:套用最短路算法--堆优化的dijkstra算法,不同点主要是有两个权重的更新,以及对路径的记录。当dist[j]>distance+w1[i]时,则更新最短距离和最少花费,并记录最短路径path。当dist[j]==distance+w1[i]时,如果cost[j]>costu+w2[i]则更新cost,并记录路径path。题目大意:给定n个城市,m条道路,每条道路有自己的距离和花费,给定起点终点,请你找到两点之间距离最短路径,如果有多条就找出其中花费最少的,并输出最短的路径以及其距离和花费。
2023-05-30 15:20:44
60
1
原创 1003 Emergency PAT甲级真题 使用堆优化的Dijkstra算法
很明显这是一个典型的单源汇没有负权求最短路的问题,可以使用dijkstra算法,但是要注意比一般的dijkstra算法多了求最短路径的条数和考虑点权的问题,只需要在更新最短路的过程中增加相应的操作即可,当d[j]>distance+w[i]时需要更新最短距离,最短路数量不变,点权和需要更新;n个城市之间存在m条路径,每条路径有相应的距离,每个城市有一定数量的救援队,请你找出给出的某两个城市之间的最短路径的数量,并找到这些最短路径中救援队数量的最大值。
2023-05-27 16:06:12
54
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人