HDOJ 1159 Common Subsequence【模板题】
2016-08-12 15:56
369 查看
Common Subsequence
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 34223 Accepted Submission(s): 15602
[align=left]Problem Description[/align]
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.
The program input is from a text file. Each data set in the file contains two strings representing the given sequences. The sequences are separated by any number of white spaces. The input data are correct. 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.
[align=left]Sample Input[/align]
abcfbc abfcab
programming contest
abcd mnp
[align=left]Sample Output[/align]
4
2
0
[align=left]Source[/align]
Southeastern Europe 2003
[align=left]Recommend[/align]
Ignatius
LCS模板题,下面贴上模板。
只要理解LCS,然后这题就是个模板题,没有难度。
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; char ch1[1111],ch2[1111]; int dp[1111][1111]; int main() { int i,j; while(~scanf("%s%s",ch1,ch2)) { memset(dp,0,sizeof(dp)); int l1=strlen(ch1); int l2=strlen(ch2); for(i=1;i<=l1;i++) { for(j=1;j<=l2;j++) { if(ch1[i-1]==ch2[j-1]) dp[i][j]=dp[i-1][j-1]+1;//相等的话+1 else dp[i][j]=max(dp[i-1][j],dp[i][j-1]);//不相等选之前状态下最长的那个 } } printf("%d\n",dp[l1][l2]); } return 0; }
相关文章推荐
- EasyUI表单验证(扩展)
- CGRect, CGPoint,CGSize,CGAffineTransform,UIEdgeInsets,UIOffset与NSValue的相互转换
- IM模块-UiCollectionView列表显示气泡文本
- iOS图片浏览器,控制器只支持横屏,图片浏览器可横屏,缩放,下载 基于UICollectionView
- HDU 1159 Common Subsequence(LCS 模板题)
- HDU/HDOJ 1159/POJ 1458 Common Subsequence(最长公共子序列LCS,滚动数组)
- IOS UITableView下拉刷新和上拉加载功能的实现
- 安装Hue后的一些功能的问题和解决
- POJ3080 Blue Jeans
- 常用数据库validationQuery语句
- UILabel lineBreakMode:设置标签文字过长时的显示方式。
- 使用vue-router时,Error: Please install the Router with Vue.use() before creating an instance.的解决办法。
- 网易云课堂 翁恺老师的arduino初级课程
- UIAScriptAgentSignaledException
- HDU5828 Rikka with Sequence 线段树
- Android 给view 设置setSystemUiVisibility 之后,每次点击事件监听不到
- UITableView设置Cell左滑多个按钮(编辑,删除,置顶等)
- The request sent by the client was syntactically incorrect
- 拆解Cluene系列(8)——建立索引的流程
- mui一些小组件