标签:
求两个序列的lcs的长度,子序列可不连续
dp[i][j]=dp[i-1][j-1]+1(a[i]==b[i])
dp[i][j]=max(dp[i-1][j],dp[i][j-1])(a[i]!=b[i])
memset(dp,0,sizeof(dp)); for(int i=1;i<=n1;i++){ for(int j=1;j<=n2;j++){ if(a[i]==b[j]) dp[i][j]=dp[i-1][j-1]+1; else dp[i][j]=max(dp[i-1][j],dp[i][j-1]); } } cout<<dp[n1][n2]<<endl;
标签:
原文地址:http://www.cnblogs.com/--560/p/4354449.html