dp本质是带记录中间过程结果的穷举法。为了利用中间过程的结果(子问题的解),因此要递推。因此,所有可以dp的题,一定可以用穷举法通过,也就是可以用递归通过。
dp的初始化,即递归的终止条件。递归的终止条件,就是最简单问题的解。
记忆化搜索,即带记录的递归,是自顶向下的dp,把大问题拆成小问题,逐层向下,并记录中间结果。普通dp是自底向上的。
dp == 穷举+递推+初始化(最简单问题的解)
算法笔记:dp的原理
最新推荐文章于 2024-07-20 21:54:28 发布
dp本质是带记录中间过程结果的穷举法。为了利用中间过程的结果(子问题的解),因此要递推。因此,所有可以dp的题,一定可以用穷举法通过,也就是可以用递归通过。
dp的初始化,即递归的终止条件。递归的终止条件,就是最简单问题的解。
记忆化搜索,即带记录的递归,是自顶向下的dp,把大问题拆成小问题,逐层向下,并记录中间结果。普通dp是自底向上的。
dp == 穷举+递推+初始化(最简单问题的解)