链接:https://ac.nowcoder.com/acm/contest/58069/B 来源:牛客网 小熊是一只聪明的熊,为了节省时间,它早早就记住了哪里有食物,注意这里是一个数轴,小熊的树洞在原点 0 0 的位置上,食物在 � x 的位置上。特别的是,小熊走每一步都有三种选择,可以选择步长为 1 1、 2 2、 3 3 中的一种。现在小熊从树洞出发,它想在出发前就能够知道自己拿到食物最少需要走多少步
时间: 2023-06-18 13:06:54 浏览: 134
ACM程序设计导引及在线实践
这是一个比较典型的动态规划问题。我们可以定义 $f(x)$ 表示小熊从原点出发到 $x$ 位置所需的最少步数。那么对于一个位置 $x$,它可以由 $x-1$、$x-2$ 或 $x-3$ 转移而来,转移方程如下:
$$f(x)=\min(f(x-1),f(x-2),f(x-3))+1$$
边界条件为 $f(0)=0$,因为小熊从原点出发不需要走步数。
最终答案即为 $f(x)$ 的值。时间复杂度为 $O(x)$。
阅读全文