昨天做TC一道550分的题目的时候因为没计算好复杂度,直接用的递归来做跪了。其实在写的时候就想到,这样做会有很多的重复计算的,要不要把这些结果存起来,但是因为贪恋递归算法的优雅和简短,没有使用那个。因此题目test的时候就出错了。
现在想想,DP其实就是带记忆的递归而已。递归是已经很熟悉了,在写问题的时候可以先使用递归来解决,然后把递归式的中间结果保存下来,就变成动态规划了。
所以DP和递归才这么类似。他们就是一样的东西——递归思想。所以DP才会像递归一样需要初始条件。
现在才明白...╮(╯▽╰)╭
忽然觉得算法也有美的地方了。就像物理公式一样,对称简洁。