首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态规划中如何实现正确的函数

动态规划中如何实现正确的函数
EN

Stack Overflow用户
提问于 2018-12-16 23:38:55
回答 1查看 40关注 0票数 1

我在动态规划中有以下问题。

一个人有时间机器,他可以在1年或2年内及时移动。在开始的时候,他是0岁,他想达到100岁。他做的每一步(1到2年)都要支付一些固定的费用。有一个包含100个整数的数组,表示如果他投出了特定年份,他需要支付的费用。

我需要找到一个人可以支付的最低数额,从0到100,使用动态规划。

从我到目前为止所做的事情来看,我认为应该有这样的事情

minCost(i) = min{Ai-1,Ai-2}

基例分别为年份1和2,费用分别为A1、A2。但我认为这种方法更多的是贪婪算法,而不是动态规划。

我看到了动态规划的装箱算法,我理解它和表示它的矩阵。

上面显示的问题的矩阵应该是什么样的呢?

我应该如何构建这个问题的函数和伪代码呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-17 08:45:50

你快到了。

想想你将如何从第一年和第二年到达第一年.有一笔费用你忘了考虑。

MinCostToReachYear(i) = min( MinCostToReachYear(i-1) + fee(i-1),MinCostToReachYear(i-2) + fee(i-2)

你已经知道了第一年和第二年的基本情况。你能想到用一个for循环来推断,还是像上面提到的那样更容易地使用递归函数来推断呢?我把它留给你做练习。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53807452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档