【发布时间】:2013-02-04 12:24:28
【问题描述】:
你有 N 个守卫排成一列,每个守卫都需要硬币。只有当他的要求少于您在到达他之前已完全支付的金额时,您才可以跳过支付警卫。找出你花费最少的硬币来越过所有守卫。
我认为这是一个 DP 问题,但无法提出公式。另一种方法是对答案进行二分搜索,但我如何验证是否有多个硬币是可能的答案?
【问题讨论】:
-
N有什么限制和币的需求?
-
@ArmenTsirunyan 我猜 n 只是守卫的数量,即“可变”,同样每个守卫的需求也是可变的
-
你能跳过一个以上的守卫吗?前任。 5 2 3 7,花费 5,然后跳过 2 和 3 ?
-
是的,但显然在这种情况下,您想支付 5 和 2,仅此而已。
-
我们通过的守卫顺序是固定的,对吧?
标签: algorithm dynamic-programming