LCS&LIS
文章平均质量分 78
AC_Gibson
这个作者很懒,什么都没留下…
展开
-
POJ3080 Blue Jeans 最长公共子串
题目大意:给出n个长度为60的字符串,找出他们之间的最长公共子序列的大小。 分析:刚开始以为是数状数组的题,后来发现暴力就可以过== 实现代码如下:#include #include #include using namespace std;#define maxn 105char str[maxn][maxn];int n;bool judge(i原创 2015-04-22 10:39:35 · 635 阅读 · 0 评论 -
POJ3450 Corporate Identity 最长公共子串
题目大意:给你n个字符串,让你找出他们的最长公共子串,如果存在多条,输出字典序最小的一个,若不存在,输出“IDENTITY LOST”。分析:感觉就是 POJ1226,POJ3080 的综合。数据量不大,暴力就可以过。我感觉这题的考察点应该是字符串的排序,在找出m个最长公共子串后输出字典序最小的一个字符串才是本题的一个坑。至于字符串排序,可以参考一下:字符串排序详解实现原创 2015-04-24 15:05:58 · 793 阅读 · 0 评论 -
LCS之最长公共子序列
最长公共子序列(Longest Common Subsequence)是指几个字符串之间公共的子序列中长度最长的一个子序列。注意子序列和子串的区别:子序列可以是非连续的,而子串则是连续的子集。 通用的求最长公共子序列的算法是利用动态规划的思想。对于求两个字符串str1,str2的最长公共子序列的问题,我们用一个二维数组lcs(i,j)来纪录在 字符串str1中第i个元素之前的子串 和 s原创 2015-04-20 20:40:07 · 483 阅读 · 0 评论 -
LCS之最长公共子串
最长公共子串(Longest Common Substring)是指几个字符串之间的公共子串中长度最大的一个。它可以说是最长公共子序列的一种特例,同样可以用动态规划的思想来解决,不同点就在于求最长公共子序列时我们只需要把光标向后移,而不用去关心它移动了多少位,但在求最长公共子串的时候,我们就需要关心光标后移的个数了。我们仍然拿 求两个字符串str1和str2之间的最长公共子串 来讨论:原创 2015-04-21 11:06:43 · 718 阅读 · 0 评论 -
HDU1159 Common Subsequence 最长公共子序列
题目大意:给你两个字符串,让你找出他们的最长公共子序列。分析:裸LCS实现代码如下:#include #include #include #include using namespace std;#define maxn 1005int dp[maxn][maxn];int main(){ string str1,str2; while(cin>原创 2015-04-21 12:00:05 · 577 阅读 · 0 评论 -
HDU1238 POJ1226 Substrings 最长公共子串(子反串也算)
题目大意:给你n个长度小于100的字符串,让你找出他们之间的最长公共子串。其中,如果一个字符串含有另外一个子串的反串,那么这个子串也算做是他们之间的公共子串。分析:我们可以先找出给出的字符串中长度最小的一个,然后遍历它的所有子串,分别判断这个子串是不是其他字符串的子串。数据量不大,暴力可以过。实现代码如下:#include #include #include us原创 2015-04-21 16:20:29 · 899 阅读 · 0 评论 -
最长上升子序列 O(n^2)算法和O(nlogn)算法
最长上升子序列问题(LIS问题) O(n^2)算法(DP)分析:对于一个数列的最长上升子序列,我们用一个数组dp[i]来纪录以a[i]结尾的子序列中的最长上升序列,那么很容易可以想到,对于第一个元素来说,他的dp[1]=1;对于后面的每个元素i,他的dp[i]应该是前面dp[]中最大的一个然后再加上1,即dp[i]=max(dp[j]) (j from 1 to i)原创 2014-10-15 14:12:35 · 820 阅读 · 0 评论 -
HDU5489 Removed Interval LIS
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5489题目大意:给出一个长度为n的序列,移除序列中一段长度为L的连续序列,求出剩下序列的最长上升子序列(LIS)的长度。分析:我们假设移除i之前的L个元素(即移除区间[i-L,i-1]),那么问题就变为了,在[0,i-L-1]中和[i,n-1]中分别找出两个上升子序列序列a和b,原创 2015-10-01 21:27:44 · 485 阅读 · 0 评论