不确定这是否是正确的问题,但这是我的问题:
我有一大组点,每个点代表一个坐标。我需要开发一种算法,该算法计算要访问的点,以便最大化在特定时间跨度内(例如,24小时)行进的总距离。对于两点之间的每条路径,我知道距离和最大速度。
此外,还有一个约束。每条路径只能行进两次(因此,可以上下移动,但这两个点都不能再次使用)。
我的问题是:我不知道从哪里开始。我已经查看了一些寻路算法(例如Dijkstra' s),但他们都找到了最小距离,而我需要找到最大距离!
答案 0 :(得分:0)
如果时间是整数而不是太大,则可以使用动态编程。
创建dp [pos] [t]
这意味着目前在时间t,你处于positon pos,你可以达到的最大距离。
然后你的回答是{dp [destinatin] [valid_time]}的最大值。
dp [] []可以像dijkstra或spfa算法一样计算。
希望这可以帮到你一点。