ruanxingzhi大佬讲的贼好
前言:动态规划程序设计是对解最优化问题的一种途径、一种方法,而不是一种特殊算法。不像前面所述的那些搜索或数值计算那样,具有一个标准的数学表达式和明确清晰的解题方法。动态规划程序设计往往是针对一种最优化问题,由于各种问题的性质不同,确定最优解的条件也互不相同,因而动态规划的设计方法对不同的问题,有各具特色的解题方法,而不存在一种万能的动态规划算法,可以解决各类最优化问题。因此读者在学习时,除了要对基本概念和方法正确理解外,必须具体问题具体分析处理,以丰富的想象力去建立模型,用创造性的技巧去求解。我们也可以通过对若干有代表性的问题的动态规划算法进行分析、讨论,逐渐学会并掌握这一设计方法。(by-信息学奥赛一本通基础篇)
下面有几个问题:
question1:给定一个数额问你最少用多少硬币凑出W(你有N多硬币)
依据生活经验,我们可以采用这种策略:
先尽量用100的,然后尽量用50的……以此类推。
e.g. 666 = 6*100+1*50+1*10+1*5+1*1,共用10枚硬币。
浙公网安备 33010602011771号