poj1458 Common Subsequence【LCS】
2015-08-10 17:09
435 查看
Common Subsequence
Description
A subsequence of a given sequence is the given sequence with some elements (possible none) left out. Given a sequence X = < x1, x2, ..., xm > another sequence Z = < z1, z2, ..., zk > is a subsequence of X if there exists a strictly
increasing sequence < i1, i2, ..., ik > of indices of X such that for all j = 1,2,...,k, xij = zj. For example, Z = < a, b, f, c > is a subsequence of X = < a, b, c, f, b, c > with index sequence < 1, 2, 4, 6 >. Given two sequences X
and Y the problem is to find the length of the maximum-length common subsequence of X and Y.
Input
The program input is from the std input. Each data set in the input contains two strings representing the given sequences. The sequences are separated by any number of white spaces. The input data are correct.
Output
For each set of data the program prints on the standard output the length of the maximum-length common subsequence from the beginning of a separate line.
Sample Input
Sample Output
Time Limit: 1000MS | Memory Limit: 10000K | |
Total Submissions: 43241 | Accepted: 17544 |
A subsequence of a given sequence is the given sequence with some elements (possible none) left out. Given a sequence X = < x1, x2, ..., xm > another sequence Z = < z1, z2, ..., zk > is a subsequence of X if there exists a strictly
increasing sequence < i1, i2, ..., ik > of indices of X such that for all j = 1,2,...,k, xij = zj. For example, Z = < a, b, f, c > is a subsequence of X = < a, b, c, f, b, c > with index sequence < 1, 2, 4, 6 >. Given two sequences X
and Y the problem is to find the length of the maximum-length common subsequence of X and Y.
Input
The program input is from the std input. Each data set in the input contains two strings representing the given sequences. The sequences are separated by any number of white spaces. The input data are correct.
Output
For each set of data the program prints on the standard output the length of the maximum-length common subsequence from the beginning of a separate line.
Sample Input
abcfbc abfcab programming contest abcd mnp
Sample Output
4 2 0
【代码】
#include<stdio.h> #include<string.h> #define max(a,b) (a>b?a:b) char s1[1010],s2[1010]; int dp[1010][1010]; int main() { while(scanf("%s%s",s1,s2)!=EOF) { memset(dp,0,sizeof(dp)); int len1=strlen(s1); int len2=strlen(s2); int i,j; for(i=1;i<=len1;i++) { for(j=1;j<=len2;j++) { if(s1[i-1]==s2[j-1]) dp[i][j]=dp[i-1][j-1]+1; else dp[i][j]=max(dp[i-1][j],dp[i][j-1]); } } printf("%d\n",dp[len1][len2]); } return 0; }
相关文章推荐
- Android多国语言的value文件夹命名方式
- Android ContentValues类
- HDU 5273 Dylans loves sequence——BestCoder Round #45(DP or 树状数组)
- 使用phpQuery 抓取HTML 页面内容
- easyui中的panel(面板)的属性href的使用
- zoj 3545 - Rescue the Rabbit(AC自动机+dp)
- POJ_1679_The Unique MST(次小生成树模板)
- codeforces 527D D. Clique Problem(二分+线段树+贪心+dp)
- 控件学习---UIImageView---摘自培训文档
- HDU5273.Dylans loves sequence(逆序数对)
- Integer Inquiry
- animate的{queue:false,duration:400}意思
- Django中的request.GET和request.POST
- Hdu oj 1005 Number Sequence
- UITableView 实现汽车品牌(demo)
- UIMenuController,UIPasteboard:复制,粘贴详细解释
- CodeForces 3D-Least Cost Bracket Sequence
- Flash Builder4.7破解方法
- 控件学习---UITextField---摘自培训资料
- MIUI 6 沉浸式状态栏(Android 4.4以上)