HDU #1874 : 畅通工程续
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1874
题意:n个点m条边的无向图,给定s和t,问从s到t的最短路。
思路:单源最短路,dijkstra即可。
AC代码:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
HDU #1596 : find the safest road
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1596
题意:有n个城市,给出两两间的安全度(0~1之间),问从s到t一路上的安全度之积最大为多少。
思路:由于0~1之间的数相乘只会变小或相等,因此可以用最短路的方法来求最大安全度之积。对于询问都做一遍dijkstra即可。
AC代码:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
51Nod #1459 : 迷宫游戏
传送门:https://www.51nod.com/Challenge/Problem.html#!#problemId=1459
题意:n个房间m条路,每条路有花费的时间t和获得的得分s,问在花最短时间的前提下,最高得分为多少。
思路:单源最短路,不过要多记一个得分。
当第一次走到终点时,记录当前的时间t并继续进行搜索并更新得分,直到所需的时间>t时才结束搜索。
AC代码:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
POJ #2253 : Frogger
传送门:http://poj.org/problem?id=2253
题意:给出n个平面坐标上的点,问所有从点1到达点2的方法中,过程中的最大距离的最小值为多少。
思路:单源最短路,但这里最短的不是总体距离而是每次的距离,所以dis数组记录的东西改变一下就可以了。
(PE的每个case最后要空行)
AC代码:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
HDU #2680 : Choose the best route
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2680
题意:n个点m条边的有向图,给定多个起点和一个终点,问从起点到终点最短距离是多少。
思路:把终点看作起点做dijkstra,取起点中距离最近的点就是答案。
AC代码:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
【算法课复习 -- 图、Dijkstra】
推荐阅读