for(int i = 1; i <= n; i ++)
for(int j = 1; j <= m; j ++)
{
int &t = f[i][j];
t = -INF;
t = max(t, f[i-1][j-1] + w[s1[i]][s2[j]]);
t = max(t, f[i-1][j] + w[s1[i]][4]);
t = max(t, f[i][j-1] + w[4][s2[j]]);
}
写转移方程的时候,一定要记得t=0这个初始状态可能会影响后续的max,所以一定要记得初始化为-INF,真的蚌埠住,对了半天的代码,发现取max的问题