步骤:
1、判断是否满足子问题解最优可推出总问题最优,若不存在依赖关系则不可用动态规划
2、子问题界定和计算顺序(即子问题需要明确输入参数,子问题区分的界定(加法、因子关系、乘法关系等等),并决定先固定哪个参数,再举例哪个参数(计算顺序))
3、通过参数明确目标函数、追踪记录数组(dp[])以及约束条件,还有初始值(递推方程)。注意求聚合的函数并非唯一,可以是一种选择(有的时候会有不同写法,但是聚合选择的会复用之前计算的值,所以计算会更优)。
步骤:
1、判断是否满足子问题解最优可推出总问题最优,若不存在依赖关系则不可用动态规划
2、子问题界定和计算顺序(即子问题需要明确输入参数,子问题区分的界定(加法、因子关系、乘法关系等等),并决定先固定哪个参数,再举例哪个参数(计算顺序))
3、通过参数明确目标函数、追踪记录数组(dp[])以及约束条件,还有初始值(递推方程)。注意求聚合的函数并非唯一,可以是一种选择(有的时候会有不同写法,但是聚合选择的会复用之前计算的值,所以计算会更优)。