对于动态规划的理解:

就是将一个问题分解为很多个子问题,然后通过求解子问题来解决原问题。每个子问题的解都会被填入一个表中,便于对子问题解的利用和存放。动态规划的解决经常和递归方程联系在一起。

编程题目一中的递归方程

m[i]=max(m[j]+1) ,其中m[i]表示第i个数的最长递增子序列,其中0<=j<i。

编程题目二中的递归方程

m[i][j]=min(m[i][k]+m[k][j])

编程情况:

第一题还算是比较顺利,找到被比较的数前面比他小的数的最长递增子序列再加一,通过找到子问题然后求解。第二题则是与伙伴讨论之后,套用了矩阵相乘后得以解决。