- 题目链接:7-135 过年了,回家吧
- 考查知识:Dijkstra(一边权一点权)
- 题意描述:给定n个城市,m条道路,起点s,终点t,求一条最短路径并打印。这条路必须是耗时最短的路径,如果有耗时相同的多条路径,选择其中换乘最少的一条。
- 思路简析:
- 使用链式前向星存无向图的邻接表,用堆(优先队列)优化Dijkstra算法,第一标尺时间(路径边权+所有中介点点权,即可以整体看成是边权),第二标尺点数(点权);
- 需要优化的是数值的插入(更新)和取出最小值两个操作,使用邻接矩阵实现的dijkstra算法的复杂度是O(V²),优先队列优化整个算法的复杂度是O(ElogV);
- 具体代码
#include<bits/stdc++.h> using namespace
7-135 过年了,回家吧(Dijkstra(一边权一点权))
于 2022-03-17 16:49:52 首次发布