【面试经典】求解金矿问题(动态规划初级)

问题:有一个国家发现了5座金矿,每座金矿的黄金储量不同,需要参与挖掘的工人数也不同(情况如下图)

金矿编号 黄金储量 需要人数
1 400 5
2 500 5
3 200 3
4 300 4
5 350 3

首先,动态规划方法适合的题型4个基本特点是:
1、最优子结构,当前一个状态得到最佳解时,当前状态在前一个状态下一定有最佳解;
2、子问题重叠,每个状态下要解决的问题除参数不同外,其本质是一样的;
3、有边界,当解决了最后一个子问题时,整个问题得解;
4、子问题独立,解决一个子问题时不依赖于另一个同级的子问题,只与它的母问题有关;
当存在这四个特点时很大程度上可以确定用动态规划的方法解觉了。
而解决动态规划问题的关键在于写出状态转移方程式,一般来说,对应一个状态下,对某件事情是否执行,这是两个子问题,每个子问题都可以递归下一个状态,最终到达边界条件返回,再判断最开始的状态下两个子问题的最优解,即是整个问题的答案。

我再使用国王的金矿的例子来解释动态规划的实现过程:
有一个国家的国王为了增强国力要开采已探明储量的5座金矿,开采每一座金矿所需的人员是固定的,而且为了能顺利将金矿开采又不耽误人民生活,国王决定只调配500人去挖金矿,要同时开

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值