码迷,mamicode.com
首页 >  
搜索关键字:公共子串    ( 497个结果
POJ-3450-Corporate Identity(KMP)
题意:给你n个的串,求出它们的最长公共子串,如果不存在这个子串,则输出“IDENTITY LOST”,如果存在多个最长公共子串,则输出字典序最小的那一个。 思路:二分枚举最长公共子串的长度,然后再枚举此长度的所有子串,找出字典序最小的解(不用二分直接暴力也能过)//400 KB 125 ms #include #include #include #include using namespace...
分类:其他好文   时间:2015-02-17 22:26:17    阅读次数:203
POJ3080-Blue Jeans(KMP,水)
大致题意: 就是求k个长度为60的字符串的最长连续公共子串,2 规定: 1、  最长公共串长度小于3不输出 2、  若出现等长的最长的子串,则输出字典序最小的串 思路:和POJ-3450-Corporate Identity一样二分+枚举,但是直接暴力也0ms //192 KB 0 ms 题目太水,我就把POJ3450的代码改了几句话 #includ...
分类:其他好文   时间:2015-02-17 22:25:14    阅读次数:242
[算法系列之十九]最长公共子序列
有两个字符串S1和S2,求一个最长公共子串,即求字符串S3,它们同时是S1和S2的子串,且要求它们的长度最长,并确定这个长度。这个问题我们称之为最长公共子序列问题。 与求最长递增子序列一样,我们首先将原问题分割成一些子问题,我们用dp[i][j]表示S1中前i个字符和S2中前j个字符分别组成的两个前缀字符串的最长公共子串长度。显然的,当i,j较小时我们可以直接给出答案,如dp...
分类:编程语言   时间:2015-02-12 16:22:43    阅读次数:178
poj--3450 KMP求多个字符串的最长公共子串
思路与前面的3080一样代码如下:#include #include #include using namespace std;char str1[220],str2[220]; int next[220],n; char ch[4400][220];void GetNext() { int j=0; int len=strlen...
分类:其他好文   时间:2015-02-08 14:08:38    阅读次数:200
hdu 1503 Advanced Fruits (LCS)
/* 题意:将两个字符串结合起来,他们的公共子串只输出一次 思路:根据LCS的原理,将每个字符都进行标记,看两个字符串中对应的字符究竟处于什么状态, 然后输出,其标记为公共子串的字符只输出一次即可 */ # include # include # include # include using namespace std; int dp[110][110],pre[110][110]; ...
分类:其他好文   时间:2015-02-06 11:17:25    阅读次数:123
java 动态规划算法求解最长公共子串
最近在项目中碰到了这样的一个问题,要比较JS和CSS是否做了修改,先是想着借助第三方工具发现没找到,后面转念一想,这个问题不就是对两个文件的第一行求最大的公共子串嘛,既然是要求公共子串的最大长度,由此想到了动态规划算法。代码是从网上C++改写过来的,感谢那位C++的兄弟,代码如下:package d...
分类:编程语言   时间:2015-02-04 10:58:32    阅读次数:197
POJ3080 && POJ 3450
题意: 给定m个串,让你找出它们的最长公共子串 思路: 先二分串的长度,枚举该长度的串(可以从第一个串里找),看该长度是否合法,(就是用这个长度的所有串去匹配给定的 第 2 - m 个串 为提高效率,用kmp)然后得到一个最大长度,再在该长度下寻找一个字典序最小的解即可 POJ3450代码(3080类似) /**********************************...
分类:其他好文   时间:2015-02-02 23:16:32    阅读次数:218
poj 1159 Palindrome (lcs,滚动数组)
/* 最少需要补充的字母数 = 原序列S的长度 — S和S'的最长公共子串长度 */ # include # include # include # include using namespace std; int dp[2][5010];///滚动数组 int main() { char a[5010]; char b[5010]; int i,j,k,len;...
分类:编程语言   时间:2015-02-02 16:01:38    阅读次数:168
最长公共子序列(LCS)问题
一、什么是最长公共子序列        什么是最长公共子序列呢?举个简单的例子吧,一个数列S,若分别是两个或多个已知序列的子序列,且是所有符合条件序列中最长的,则S称为已知序列的最长公共子序列。   举例如下,如:有两个随机数列,1 2 3 4 5 6 和 3 4 5 8 9,则它们的最长公共子序列便是:3 4 5。   一直不明白:最长公共子串和最...
分类:其他好文   时间:2015-02-02 12:39:26    阅读次数:137
NYOJ 36 &&HDU 1159 最长公共子序列(经典)
链接:click here 题意:tip:最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则 S 称为已知序列的最长公共子序列。 输入第一行给出一个整数N(0 接下来每组数据两行,分别为待测的两组字符串。每个字符串长度不大于...
分类:其他好文   时间:2015-01-31 23:19:56    阅读次数:323
497条   上一页 1 ... 38 39 40 41 42 ... 50 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!