题目 题目 解析 解析 最长公共子串和最长公共子序列的区别是,子串是连续的,子序列是不连续的。 首先还是要生成动态规划表。生成大小为M*N的矩阵dp。dp[i][j]的含义是,在必须把str1[i]和str2[j]当作公共子串最后一个字符的情况下,公共子串最长能有多长。比如,str1="A1234B ...
分类:
编程语言 时间:
2017-04-06 23:25:30
阅读次数:
218
题目 题目 给定两个字符串str1和str2,返回两个字符串的最长公共子序列 解析 解析 本题是非常经典的动态规划问题,先来介绍求解动态规划表的过程。如果str1的长度为M,str2的长度为N,生成大小为M*N的矩阵dp,行数为M,列数为N。dp[i][j]的含义是str1[0..i]和str2[0 ...
分类:
编程语言 时间:
2017-04-06 01:30:05
阅读次数:
295
参考:https://segmentfault.com/a/1190000003819886 在给定的一个序列中,我们可以得到: (1)不同长度 (2)且保证该升序序列在同长度升序序列中末尾最小的升序序列。 这些序列都是未来有可能成为最长序列的候选人。这样,每来一个新的数,我们便按照以下规则更新这些 ...
分类:
其他好文 时间:
2017-04-04 20:54:16
阅读次数:
128
以下转载自:http://blog.sina.com.cn/s/blog_4a033b090100zdsd.html 下午做最长公共子序列的时候遇到的问题,问了felix后恍然大悟...看代码 #include <stdio.h> int main() { int a[1000000];//局部变量 ...
分类:
编程语言 时间:
2017-04-02 09:53:51
阅读次数:
222
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1159 Common Subsequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
分类:
其他好文 时间:
2017-04-01 18:23:45
阅读次数:
238
给出两个字符串A B,求A与B的最长公共子序列(子序列不要求是连续的)。 比如两个串为: abcicba abdkscab ab是两个串的子序列,abc也是,abca也是,其中abca是这两个字符串最长的子序列。 给出两个字符串A B,求A与B的最长公共子序列(子序列不要求是连续的)。 比如两个串为 ...
分类:
其他好文 时间:
2017-03-30 21:26:23
阅读次数:
160
例1:给你两个字符串,找出最长子序列的长度。 对于字符串t, 字符串s,给定特定的i, j代表t,s的位置,只存在三种情况: 1. i == 0 || j==0, M[i][j] = 0; 2. t[i] == s[j], M[i][j] = min(M[j-1][j-1] + 1, M[i-1][ ...
分类:
其他好文 时间:
2017-03-25 11:30:56
阅读次数:
126
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1159 ...
分类:
其他好文 时间:
2017-03-23 01:18:23
阅读次数:
130
#include #include #include #include #include #include #include #include #include #include #include #define ll long long using namespace std; const int... ...
分类:
其他好文 时间:
2017-03-12 19:49:24
阅读次数:
123
题意:就是求最长公共子序列。 动态转移方程:F[i][j]=F[i-1][j-1]+1 (a[i]==b[j]) F[i][j]=max(F[i-1][j],F[i][j-1]) (a[i]!=b[j]) ...
分类:
其他好文 时间:
2017-02-25 18:50:57
阅读次数:
179