dp[i]表示以a[i]为结尾的最长子序列,因为必包含自己,所以均初始化为1。

1.2 给出填表法中表的维度、填表范围和填表顺序。

表的维度是1,填表范围为1-n,填表顺序为从左往右。

动态规划思想与分治法类似,都是将问题分解为多个子问题,通过求解子问题来得到最终答案,而动态规划的优势在于,动态规划防止了子问题的重复计算,每个问题只计算一次,自底向上地求出原问题的解。

结对编程的时候一直没有想到先把左边界和上边界初始化,所以就卡在了这里很久。之后查阅了资料才知道可以先初始化边界,然后再用二维dp[i][j]存放从(1,1)到(i,j)最低的费用。这样dp[n][m]就是答案。