POJ 1458 Common Subsequence
2015-10-25 02:12
405 查看
L - Common Subsequence
Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d
& %I64u
Submit Status Practice POJ
1458
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, x ij = 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:10000KB 64bit IO Format:%I64d
& %I64u
Submit Status Practice POJ
1458
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, x ij = 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
最长公共子序列问题。动态转移方程和图解如下:
转移方程:
图解:
轻松写出代码:
/************************************************************************* > File Name: Common_Subsequence.cpp > Author: Zhanghaoran > Mail: chilumanxi@xiyoulinux.org > Created Time: Sat 24 Oct 2015 10:39:26 PM CST ************************************************************************/ #include <iostream> #include <algorithm> #include <cstring> #include <cstdio> #include <cstdlib> using namespace std; int dp[201][201]; char str1[201]; char str2[201]; int main(void){ while(~scanf("%s%s", str1, str2)){ dp[0][0] = 0; for(int i = 1; i <= strlen(str1); i ++){ for(int j = 1; j <= strlen(str2); j ++){ if(str1[i - 1] == str2[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[strlen(str1)][strlen(str2)]); } return 0; }
相关文章推荐
- Android:带你玩转Servie,子线程,与UI线程通信[导入导出]
- cf 11a Increasing Sequence
- Positional parameter does not exist: 1 in query: from Books where isbn=?
- 转载:为什么首次进入界面是SwipeRefreshLayout.setRefreshing(true)没有动画效果
- 【APUE】Chapter12
- 《西安交大电路》(Principles of Electrical Circuits) 学习笔记
- [AndroidUI]自定义view(五):实现动态柱状图
- 实例解析JS布尔对象的toString()方法和valueOf()方法
- uibutton 的setImage和setBackgroundImage的区别
- UITextField设置placeholder颜色
- UIButton 的不同设置和UITextField 的默认值(修改默认值)
- UIView 设置边框颜色 和 UILabel 的设置
- 给uiview 添加边框以及圆角
- easyui-datagrid的url中的中文问题
- 每次保存之后build workspance 速度很慢的解决办法
- IOS--UIAlertViewDelegate对对话框的事件处理方法
- IOS-- UIAlertView(对话框)
- IOS---UIActivityIndicatorView
- 二、文件与目录
- The Dole Queue 约瑟夫环 模拟