HDU 1159
題意:兩個字符串a,b的最長公共子序列長度。
思路:f[i][j]表示a串到第i位,b串到第j位的最長公共子序列長度。
#include<cstdio> #include<string> #include<cstring> #include<iostream> using namespace std; int f[1010][1010]; int main() {string a,b;while(cin>>a>>b) {int alen=a.size();int blen=b.size();memset(f,0,sizeof f);for(int i=1;i<=alen;i++) {for(int j=1;j<=blen;j++) {if(a[i-1]==b[j-1]) f[i][j]=f[i-1][j-1]+1;else {f[i][j]=max(f[i-1][j],f[i][j-1]);}}}printf("%d\n",f[alen][blen]);}return 0; }?
轉載于:https://www.cnblogs.com/LinesYao/p/5506558.html
總結
- 上一篇: hdu_Anniversary part
- 下一篇: 原创:诸葛亮的《出师表》为何被称为千古奇