例题:在一个坐标纸上,从初始位置一直到位置(m,n)的路径中,哪条最短?
1.我们首先还是要去确定数组代表的含义,由于本题的目的是为了去求解路径长度,那么我们就可以去定义数组dp【m】【n】的含义是走到(m,n)的路径大小
2.其次我们应该去确定的是这个题目所需要的关系式是什么,到达(i,j)这个位置之前,我们可能在的位置是(i-1,j)或(i,j-1),那这个关系式是 dp【i】【j】=min(dp【i-1】【j】,dp【i】【j-1】)+a【i】【j】(这个点所具有的值)
3.第三步我们就要去确定它的初始值,还是要去保证i-1的值>0,j-1的值>0,那么我们就要先去确定第一行和第一列所代表的值
这个推理方法是啥呢
利用for循环递归求解
for(i=0;i<n;i++){ dp[0][i]=dp[0][i-1]+a[0][i] }
最后因为这个求初始值本身也是一种递归,所以要在for循环之前去确定dp[0][1]和dp[1][0]的值