状态转移方程:
dp[i+1][j+1] = s1[i]==s2[j] ? dp[i][j]+1:max(dp[i][j+1] , dp[i+1][j]);
参考例题:
hdu1159
模板代码:
void solve()
{
for(int i = 0; i < len1; i++)
{
for(int j = 0; j < len2; j++)
{
if(s1[i] == s2[j])
{
dp[i + 1][j + 1] = dp[i][j] + 1;
}
else
{
dp[i + 1][j + 1] = max(dp[i][j + 1], dp[i + 1][j]);
}
}
}
}