1.矩阵连乘:
当i=j时,A[i,j]=Ai, m[i,j]=0;(表示只有一个矩阵,如A1,没有和其他矩阵相乘,故乘的次数为0)
当i<j时,m[i,j]=min{m[i,k]+m[k+1,j] +pi-1*pk*pj} ,其中 i<=k<j
m[i][j]表示计算矩阵A[i:j]所需的最小数乘次数。
2.最长公共子序列:
m[i][j]记录序列X前i位和序列Y前j位的最长公共子序列的长度。
3.最大子段和:
状态转移方程:dp[j]=max(dp[j−1]+a[j],a[j])(1<=j<=n)
dp[j]表示前j个数中最大的连续字段和
4.凸多边形最优三角剖分:
m[i][j](1<=i<j<=n) 为 凸 子 多 边 形 为凸子多边形为凸vi-1,vi...vj)的最优三角剖分对应的最优值
5. 01背包问题:
dp[i][j]表示前i个物品容量为j时的最大价值
6.最优二叉搜索树:
m[i][j]表示包含点xi,...,xj的最优二叉查找树的期望代价。