问题给定两个序列A和B,序列的子序列是指按照索引逐渐增加的顺序,从原序列中取出若干个数形成的一个子集,若子序列的数值大小是逐渐递增的则为上升子序列,若A和B取出的两个子序列A1和B1是相同的,则A1/B1为A和B的公共子序列。求出A和B的最长公共上升子序列。分析结合最长公共子序列和最长上升子序列来解...
分类:
其他好文 时间:
2015-09-30 14:37:07
阅读次数:
215
最长公共子序列(LCS)是一类典型的动归问题。问题给定两个序列(整数序列或者字符串)A和B,序列的子序列定义为从序列中按照索引单调增加的顺序取出若干个元素得到的新的序列,比如从序列A中取出 A[i1], A[i2], ...A[ik],其中0== dp[i-1][j], dp[i][j] >= dp...
分类:
其他好文 时间:
2015-09-30 12:52:42
阅读次数:
202
方法:动态规划 《算法导论》P208最优子结构 +重叠子问题设xi,yi,为前i个数(前缀)设c[i,j]为xi,yi的LCS的长度c[i,j] = 0 (i ==0 || j == 0)c[i,j] = a[i-1,j-1] + 1 (i,j>0 &&xi=yi)c[i,j] = max(c[i,...
分类:
其他好文 时间:
2015-09-26 23:56:22
阅读次数:
213
题目链接:http://poj.org/problem?id=3080题意就是求n个长度为60的串中求最长公共子序列(长度>=3);如果有多个输出字典序最小的;我们可以暴力求出第一个串的所有子串,然后判断是否是其他的子串即可;#include#include#includeusing namespa...
分类:
其他好文 时间:
2015-09-25 18:05:43
阅读次数:
133
580A. Kefa and First Steps题目链接: A. Kefa and First Steps题意描述: 给出一个序列,求最长公共子序列多长?解题思路: 水题,签到代码: 1 #include 2 #include 3 #include 4 #include 5 usi...
分类:
其他好文 时间:
2015-09-24 21:07:45
阅读次数:
204
题目描述有两个字符串s1和s2(长度不超过100),求它们的最长公共子序列的长度。例如,s1="abcd";s2="cxbydz"; 最后输出2。题目分析子序列:在给定序列中按照其先后顺序依次取出若干个字符,并将它们排列成一个新的序列,这个序列就被称为给定序列的子序列。最长公共子序列:英文缩写为LC...
分类:
其他好文 时间:
2015-09-20 11:36:32
阅读次数:
154
package DongtaiGuihua;/** * Created by hunk on 2015/9/13. */public class LongestCommonSubstring { public static void main(String[] args){ St...
分类:
其他好文 时间:
2015-09-14 00:24:55
阅读次数:
166
。。 1 #include 2 #include 3 #include 4 using namespace std; 5 int main() 6 { 7 int dp[100][100]; 8 char ch1[100],ch2[100]; 9 int i,j;10 ...
分类:
其他好文 时间:
2015-09-10 22:33:08
阅读次数:
261
所谓一个字符串的子序列是指:从该序列中删除若干元素后所得到的序列;如hold为 helloworld的子序列。考虑最长公共子序列问题如何分解成子问题,设A=“a0,a1,…,am-1”,B=“b0,b1,…,bm-1”,并Z=“z0,z1,…,zk-1” 为它们的最长公共子序列。不难证明有以下性质:...
分类:
其他好文 时间:
2015-09-09 17:37:12
阅读次数:
143
给定一个字符串,输出最长的重复子串举例:ask not what your countrycan do for you,but what youcan do for yourcountry最长的重复子串:can do for you思路:使用后缀数组解决分析:1、由于要求最长公共子序列,则需要找到字...
分类:
其他好文 时间:
2015-09-06 01:05:15
阅读次数:
177