POJ 1458 Common Subsequence(LCS)
来源:互联网 发布:小米推送php demo 编辑:程序博客网 时间:2024/06/05 11:58
Common Subsequence
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.
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.
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.
abcfbc abfcabprogramming contest abcd mnp
420
裸题,不解释,不好意思我又刷博客了。。。
1)最长公共子序列的长度的动态规划方程
设有字符串a[0...n],b[0...m],下面就是递推公式。字符串a对应的是二维数组num的行,字符串b对应的是二维数组num的列。
另外,采用二维数组flag来记录下标i和j的走向。数字"1"表示,斜向下;数字"2"表示,水平向右;数字"3"表示,竖直向下。这样便于以后的求解最长公共子序列。
#include <iostream>#include <stdio.h>#include <cstring>using namespace std;int main(){ int i,j,dp[2][10086],t; char a[10086],b[10086]; bool now,pre; while(~scanf("%s%s",a,b)) { memset(dp,0,sizeof(dp)); int lena=strlen(a),lenb=strlen(b); for(now=1,pre=0,i=0; i<lena; i++) for(swap(now,pre),j=0; j<lenb; j++) if(a[i]==b[j]) dp[now][j+1]=dp[pre][j]+1; else dp[now][j+1]=dp[pre][j+1]>dp[now][j]?dp[pre][j+1]:dp[now][j]; printf("%d\n",dp[now][lenb]); } return 0;}
0 0
- POJ 1458 Common Subsequence (DP,LCS)
- poj 1458 Common Subsequence(LCS)
- poj 1458 Common Subsequence (DP:LCS)
- poj - 1458 - Common Subsequence(LCS)
- poj 1458 Common Subsequence(lcs模板)
- POJ:1458 Common Subsequence(LCS)
- poj 1458 Common Subsequence(LCS)
- poj 1458 Common Subsequence(lcs)
- POJ 1458 Common Subsequence(LCS)
- POJ 1458 Common Subsequence(LCS)
- Poj 1458 Common Subsequence(LCS)
- POJ 1458 Common Subsequence(lcs)
- POJ 1458--Common Subsequence【LCS】
- POJ - 1458 - Common Subsequence (LCS)
- poj 1458 Common Subsequence【LCS】
- POJ 1458 Common Subsequence(LCS)
- poj-1458-Common Subsequence(LCS)
- POJ 1458Common Subsequence(LCS)
- linux下mysql开启远程访问权限及防火墙开放3306端口
- Vue从入门到精通(1)--前言、基础知识
- 常见的设计模式
- 字串的连接最长路径查找(使用TreeSet集合的比较器new Comparator(){ }:匿名内部类方法)
- JAVA 转 C++ 必记 PartB
- POJ 1458 Common Subsequence(LCS)
- 文件传输命令scp使用——linux主机传文件到windows主机
- 类似智能购票的demo--进入页面后默认焦点在第一个输入框,输入内容、回车、right时焦点自动跳到下一个,当跳到select时,下拉选项自动弹出,并且可以按上下键选择,选择完成后再跳到下一个。
- Javascript函数式编程要掌握的知识点
- 全面的android webview开发使用详解
- 关于语义化的js的总结,DOM、element、text等节点的操作
- 我的第一个Python小程序爬出网站图片
- java8 Stream类
- JavaScript如何一次性展示几万条数据