通常有4个步骤来设计动态规划算法:
1.刻画一个最优解的结构特征。
2.递归地定义最优解的值。
3.计算最优解的值,通过采用自底向上的方法。
4.利用计算出的信息构造一个最优解。
【问题1】最长递增子序列问题
【问题描述】设L=是n个不同的实数的序列,L的递增子序列是这样一个子序列Lin=,其中k1
采用一个数组temp[]保存 以当前元素结尾的最长递增子序列长度,最后求出全局最优解
更新最长递增子序列的条件:a[i]>a[j] (i>j) 且前一个递增序列长度大于等于当前递增序列长度
通常有4个步骤来设计动态规划算法:
1.刻画一个最优解的结构特征。
2.递归地定义最优解的值。
3.计算最优解的值,通过采用自底向上的方法。
4.利用计算出的信息构造一个最优解。
【问题1】最长递增子序列问题
【问题描述】设L=是n个不同的实数的序列,L的递增子序列是这样一个子序列Lin=,其中k1
采用一个数组temp[]保存 以当前元素结尾的最长递增子序列长度,最后求出全局最优解
更新最长递增子序列的条件:a[i]>a[j] (i>j) 且前一个递增序列长度大于等于当前递增序列长度