引入:最长公共子序列常用于解决字符串的相似度问题。最长公共子序列(LongestCommonSubsequence,LCS)与最长公共字串(LongestCommonSubstring):子串是串的一个连续的部分,子序列则是从不改变序列顺序,而从序列中去掉任意多个元素而获得的新的序列;也就是说,子串...
分类:
其他好文 时间:
2014-07-22 23:12:35
阅读次数:
357
挺经典的DP题目,LCS变形,注意边界处理!...
分类:
其他好文 时间:
2014-05-18 03:41:21
阅读次数:
339
最长公共子序列是动态规划基本题目,下面按照动态规划基本步骤解出来。
1.找出最优解的性质,并刻划其结构特征
序列a共有m个元素,序列b共有n个元素,如果a[m-1]==b[n-1],那么a[:m]和b[:n]的最长公共子序列长度就是a[:m-1]和b[:n-1]的最长公共子序列长度+1;如果a[m-1]!=b[n-1],那么a[:m]和b[:n]的最长公共子序列长度就是MAX(a[:m-1]和...
分类:
编程语言 时间:
2014-05-13 07:57:53
阅读次数:
538
一.最长公共子序列(LCS Longest Common
Subsequence)第一,先说区别,最长公共子串和最长公共子序列是不一样的。最长公共子串不许是连续的,而最长公共子序列可以是不联系的。网络上解释的子序列:一个字符串S,去掉零个或者多个元素所剩下的子串称为S的子序列。最长公共子序列就是寻找...
分类:
其他好文 时间:
2014-05-10 01:12:20
阅读次数:
370
大概作了一周,终于A了类似于求最长公共子序列,稍有变形当前序列 ch1 中字符为 a,序列 ch2
中字符为 b则有 3 种配对方式:1. a 与 b2. a 与 -3. - 与 b动态转移方程:dp[i][j] = max(dp[i - 1][j - 1]
+ g(ch1[i],ch2[j]) ,...
分类:
其他好文 时间:
2014-05-09 17:57:55
阅读次数:
255
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1513解题报告:给定一个长度为n的字符串,在这个字符串中插入最少的字符使得这个字符串成为回文串,求这个最少的个数是多少?一开始以为只是一个普通的DP题,但是按照我的想法敲出来之后怎么样都W了,无奈搜了解题...
分类:
其他好文 时间:
2014-05-07 14:03:18
阅读次数:
293
题目链接题意 :
给你两个字符串,两个字符串都有共同的字母,给你每个字母的值,规则是,找出两个字符串中的共同的一个字母,然后这个字母的值就可以加到自己的分数上,但是这步操作之后,这两个字母及其之前的字母都要删除掉,问你能够得到的最大的值是什么。思路:最长公共子序列,加了一个权值。
1 #includ...
分类:
其他好文 时间:
2014-05-04 11:13:24
阅读次数:
242
最长公共子序列经典问题,由于题的条件特殊,可转换成LIS问题,可在O(nlogn)内得到解决。根据刘汝佳大大的,加上自己的理解,不太理解的童鞋可以看一看(前提:已掌握LIS问题和LCS问题的解法)...
分类:
其他好文 时间:
2014-05-04 08:46:48
阅读次数:
339
在程序设计竞赛中,我们时常会遇到序列求最值的问题。在讲今天的问题之前,先小小的说明一下,子序列与子串的问题。
子序列:在原序列中不一定连续; 子串:在原序列中必须连续。 接下来,就开始今天要讲的最长公共子序列LCS(Longest Common
Subsequence).对于LCS这一类的...
分类:
其他好文 时间:
2014-05-01 01:38:24
阅读次数:
287
2008年上海交通大学计算机研究生机试真题
最长公共子序列...
分类:
其他好文 时间:
2014-04-29 13:44:21
阅读次数:
316