最近公司在搞什么可信考试,然后出了一道汇率换算的编程题,做了两个小时硬是没完成。后知后觉才发现,对于这种动态规划类型的题目,不搞清楚算法思路硬解是没有出路的,或者短时间内搞不清楚算法的套路也是没有出路的。所以下定决心,将关于动态规划前生今世彻底搞清楚,以备不时之需。
嘿嘿嘿嘿……
一道编程题引发的血案
啥是动态规划
Dynamic Programming,你不能把问题直接算出来,除初始状态值确定外,后续每一步计算都依赖上一步的计算结果。
动态规划的一般求解思路
递归都暴力解法->带备忘录的递归解法(自顶向下)->非递归的动态规划解法(自底向上)
状态转移方程的推倒至关重要的一环
可以看出,动态规划其实是递归的改进版。
动态规划类问题分类
199.232.69.194 github.global-ssl.fastly.net
140.82.113.3 github.com
刷新dns缓存:
sudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder;say flushed