Common Subsequence(dp入门题)
来源:互联网 发布:网络部工作职责是什么 编辑:程序博客网 时间:2024/05/17 20:28
http://acm.hdu.edu.cn/showproblem.php?pid=1159
dp给我的感觉真的很奇妙,以前刚学dfs的时候是定义这个函数有什么功能,现在是定义一个数组有什么功能。
Common Subsequence
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 29393 Accepted Submission(s): 13215
Problem 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.
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.
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.
Sample Input
abcfbc abfcabprogramming contest abcd mnp
Sample Output
420
Source
Southeastern Europe 2003
水的差不多了,开始专题了
#include <cstdio>#include <algorithm>#include <cstring>using namespace std;char s1[1010],s2[1010];int dp[1010][1010];int main(){ while(scanf("%s%s",s1,s2)==2){ int len1=strlen(s1); int len2=strlen(s2); for(int i=0;i<=len1;i++) dp[i][0]=0; for(int i=0;i<len2;i++) dp[0][i]=0; for(int i=1;i<=len1;i++) for(int 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;}AC之路,我选择坚持~~
0 0
- Common Subsequence(dp入门题)
- POJ1458 Common Subsequence LCS问题入门题[DP]
- poj1458 dp Common Subsequence
- Common Subsequence (dp)
- Common Subsequence HDU dp
- Common Subsequence(DP)
- hdu1159 Common Subsequence DP
- POJ1458 Common Subsequence DP
- [DP]Longest Common Subsequence
- HDOJ1159 Common Subsequence(dp)
- hdu1159 Common Subsequence--DP
- DP-Common Subsequence
- Common Subsequence (dp)
- Common Subsequence [dp]
- Common Subsequence (dp)
- Common Subsequence dp
- zoj 1733 Common Subsequence dp
- ZOJ 1733 Common Subsequence【DP】
- Java IO之字节流
- 九度OJ 1067:n的阶乘 (数字特性)
- asp.net web开发中使用的Web弹窗/层的Layer使用介绍
- 史上最简单的软件破解——5行脚本代码完美破解99%的过期软件
- hdoj Stars 1541 (树状数组模板&&线段树)
- Common Subsequence(dp入门题)
- mysql不支持远程或者使用ip连接的解决办法
- jQuery源码分析之globalEval函数
- python内置函数大全
- 多线程模拟银行家算法
- i-s
- Mac OS X 更新到10.11后cocoapods安装出现的问题(- bad response Not Found 404 (http://ruby.taobao.org/latest_spe)
- sublime text3 打开文件,中文乱码问题解决办法
- 2015年大二上-数据结构-顺序表(2)-奇右偶左