路径查找:计算最佳路径,其中“最佳”表示给定时间内的最大距离

时间:2014-08-14 10:47:34

标签: algorithm distance graph-algorithm dijkstra

不确定这是否是正确的问题,但这是我的问题:

我有一大组点,每个点代表一个坐标。我需要开发一种算法,该算法计算要访问的点,以便最大化在特定时间跨度内(例如,24小时)行进的总距离。对于两点之间的每条路径,我知道距离和最大速度。

此外,还有一个约束。每条路径只能行进两次(因此,可以上下移动,但这两个点都不能再次使用)。

我的问题是:我不知道从哪里开始。我已经查看了一些寻路算法(例如Dijkstra' s),但他们都找到了最小距离,而我需要找到最大距离!

1 个答案:

答案 0 :(得分:0)

如果时间是整数而不是太大,则可以使用动态编程。

创建dp [pos] [t]

这意味着目前在时间t,你处于positon pos,你可以达到的最大距离。

然后你的回答是{dp [destinatin] [valid_time]}的最大值。

dp [] []可以像dijkstra或spfa算法一样计算。

希望这可以帮到你一点。