题目大意:将两个字符串结合起来,他们的公共子串只输出一次
根据LCS的原理,将每个字符都进行标记,看两个字符串中对应的字符究竟处于什么状态,然后输出,其标记为公共子串的字符只输出一次即可,也是一道模板题了。
http://blog.csdn.net/libin56842/article/details/9618529
#include
#include
#include
using...
分类:
其他好文 时间:
2015-04-19 13:19:25
阅读次数:
117
题目大意:
两种水果可以杂交出一种新的水果,现在要给新水果起名字,起名的规则是:
这个名字要包含之前两种水果的名字的字母,要按原本字符串中字符的相对顺序。并且这个
名字要尽可能的短。
思路:
先求出两种水果名字s1和s2最长公共子序列的长度,并且用pre[i][j]标记下dp[i][j]的上一个状态,
来得到每个字符在新的字符串中的状态。然后从(len1,len2)回溯输出新的字符串序列。
pre[i][j] == 0表示为上一个字符为公共子串,将s1[i-1]或s2[j-1]输出一次,pre[i][j]...
分类:
其他好文 时间:
2015-04-18 11:33:59
阅读次数:
176
算法的基本思想: 当字符匹配的时候,不是简单的给相应元素赋上1,而是赋上其左上角元素的值加一。 我们用两个标记变量来标记矩阵中值最大的元素的位置,在矩阵生成的过程中来判断 当前生成的元素的值是不是最大的,据此来改变标记变量的值,那么到矩阵完成的时 候,最长匹配子串的位置和长度就已经出来了。=====...
分类:
其他好文 时间:
2015-04-16 00:59:26
阅读次数:
149
由于python中的for循环不像C++这么灵活,因此该用枚举法实现该算法:C="abcdefhe"D="cdefghe"m=0n=len(C)E=[]b=0while(m=0): E.append(C[m:m+i]) i-=1 m+=1for x in E: ...
分类:
编程语言 时间:
2015-04-15 16:44:20
阅读次数:
326
Problem Description
Given two strings, you have to tell the length of the Longest Common Substring of them.For example:
str1 = banana
str2 = cianaicSo the Longest Common Substring is “ana”, and the...
分类:
编程语言 时间:
2015-04-09 15:33:59
阅读次数:
225
后缀数组 好感动,复习了下后缀数组居然写出来了……(感谢ykz大神) 求最长公共子串……WA了一发是因为:【不同字符串之间要用不同的特殊字符隔开】否则就会匹配到相同→_→比如都是aaa结尾,如果用相同特殊字符就会使得最长公共子串变成aaa#这样子…… 1 /******************...
分类:
其他好文 时间:
2015-04-07 21:22:28
阅读次数:
140
理解起来好困难啊QAQWIKIOI3160 求两个串的最长公共子串见CLJppt 1 char s[maxn]; 2 struct sam 3 { 4 int n,last,cnt; 5 int go[maxn][26],l[maxn],fa[maxn]; 6 void ad...
分类:
其他好文 时间:
2015-04-07 00:41:57
阅读次数:
210
题意:给定两个字符串A 和B,求长度不小于k 的公共子串的个数(可以相同)。
样例1:
A=“xx”,B=“xx”,k=1,长度不小于k 的公共子串的个数是5。
样例2:
A =“aababaa”,B =“abaabaa”,k=2,长度不小于k 的公共子串的个数是22。
思路:
如果i后缀与j后缀的LCP长度为L, 在L不小于K的情况下, 它对答案的贡献为L - K + 1. 于是...
分类:
编程语言 时间:
2015-04-01 09:40:02
阅读次数:
208
题意:给定一个字符串,查找最长的子串的长度(没有重复字符)。原题来自:https://leetcode.com/problems/longest-substring-without-repeating-characters/分析:我自己的思路,和曾经做的求最长公共子串长度一样,不过那个是用二维数组,...
分类:
其他好文 时间:
2015-03-31 12:22:39
阅读次数:
106
最长公共子序列时间限制:3000ms | 内存限制:65535KB难度:3描述咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列。tip:最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 ...
分类:
其他好文 时间:
2015-03-31 00:53:00
阅读次数:
102