一、你对动态规划算法的理解
动态规划算法即将待求解的问题分解转换为多个子问题,然后先去求解子问题,然后再对子问题的一步步求解中就能得到原问题的解。
二、分别列出编程题1、2的递归方程
(1)将问题转化为求两个序列的最长公共子序列X、Y
C[i][j]为序列Xi和Yj的最长公共子序列的长度
0 i = 0,j = 0
C[i][j] = c[i-1][j-1]+1 i,j>0;xi != yi
max{c[i][j-1],c[i-1][j] i,j > 0;xi!=yi
(2)a[i][j]为i站和j站之间的最低费用,r[i][j]为i站和j站之间的费用
r[i][j] i+1=j
a[i][j] = min{a[i][k]+a[k][j],r[i][j]}
三、说明结对编程情况
在弄第一道编程题的时候,由于一直弄不懂怎么才算得出正确的最长子序列,所以从头的想法就是错误的,也导致了pta上一直不过。最后跟同学讨论过之后,才终于清楚了最长子序列的得出方法,也才终于写对了代码。