Description
Input
Output
Sample Input
aa
ab
Sample Output
2
Data Constraint
DP套DP
设f[i][j]为第1个字符串到第i位,第2个字符串到第j位的子序列最长长度
f[i][j]=max(f[i-1][j],f[i][j-1])
if s1[i]=s2[j] f[i][j]=max(f[i][j],f[i-1][j-1]+1)
设g[i][j]为第1个字符串到第i位,第2个字符串到第j位,最长子序列长度为f[i][j]的方案数
g[0][1]=1,g[0][0]=1,g[1][0]=1;
如果不匹配i这个点,那么f[i-1][j]=f[i][j]的话,那么g[i][j]+=g[i-1][j]
如果匹配i这个点,在s2中找出s2[k]=s1[j](k<=j),且k最大,那么g[i][j]+=g[i-1][k-1]
答案g[n][m]