你到达Waldo的世界游乐园,剩下T分钟,直到公园关闭。公园有骑行,你的目标是在公园关闭之前完成尽可能多的游乐设施。 (对于这个问题,乘坐两次相同的骑行计为2次骑行。)您将获得一个W表,W(i,t)为您提供在时间t骑行的等待时间。为方便起见,假设t表示为公园关闭前的分钟数。骑我自己需要ri分钟,所有时间都以整数分钟计算。
我尝试使用类似于0 1背包问题的方法解决它。但是包含等待骑行时间的表W随着时间t而变化。它究竟是一个背包加活动选择组合问题吗?
答案 0 :(得分:1)
这有什么意义吗?让f(t)
代表t
时最可实现的游乐设施。然后:
// Higher t is back in time
// since t is how many minutes
// before the park closes
f(t) = max(
// Not taking any ride
f(t - 1),
// Take ride i
1 + f(t - W(i, t) - r_i)
)
for all i