码迷,mamicode.com
首页 >  
搜索关键字:子串    ( 5576个结果
Codeforces Round #244 (Div. 2)D (后缀自动机)
Codeforces Round #244 (Div. 2)D (后缀自动机) (标号为0的节点一定是null节点,无论如何都不能拿来用,切记切记,以后不能再错了) 这题用后缀自动机的话,对后缀自动机的很多性质有足够深刻的理解。没想过后缀数组怎么做,因为不高兴敲。。。。 题意:给出两个长度均不超过5000的字符串s1,s2,求这两个串中,都只出现一次的最短公共子串。 解题思路:求的是公共子...
分类:其他好文   时间:2014-05-10 09:17:40    阅读次数:313
·DP」知识点整理
一.最长公共子序列(LCS Longest Common Subsequence)第一,先说区别,最长公共子串和最长公共子序列是不一样的。最长公共子串不许是连续的,而最长公共子序列可以是不联系的。网络上解释的子序列:一个字符串S,去掉零个或者多个元素所剩下的子串称为S的子序列。最长公共子序列就是寻找...
分类:其他好文   时间:2014-05-10 01:12:20    阅读次数:370
排序-快速排序
快速排序是一种分治的排序。快速排序与归并排序是互补的: 归并排序将数组分成两个子数组分别排序,并将有序的子数组归并以将整个数组排序;而快速排序将数组首先切分成两个子串,然后分别排序。相关的代码:public static void QuickSort(char[] a, int lo, int hi...
分类:其他好文   时间:2014-05-07 14:14:01    阅读次数:264
C++ string类取字符串的左右子串(以特定子串为分界限)
C++ string类取字符串的左右子串(以特定子串为分界限)...
分类:编程语言   时间:2014-05-07 07:15:40    阅读次数:442
uva 1371 - Period(二分+dp)
题目链接:uva 1371 - Period 题目大意:给出两个字符串A,B将B分解成若干个子字符串,然后每个子字符串都要变成字符串A,所有子串中编辑最多的次数即为当前状态下的最大编辑次数,要求求最小的最大编辑次数。 解题思路:二分答案,用dp判断,主要是dp判断,dp[i][j]表示到1~i的字符串匹配到j的最大编辑次数,然后考虑分段的时候只要dp[i][0] ...
分类:其他好文   时间:2014-05-07 05:09:12    阅读次数:282
回文字符串
输入一个字符,求出其中最长的回文子串。子串的含义是:在元串中连续出现的字符串片段。回文的含义是:正看和倒看相同,如abba和yyxyy,在判断时候应该忽略所有的空格和标点符号,且忽略大小写,但输出应该保持原样,输入的字符长度不超过5000,且占据单独一行,输出最长的回文子串 如有多个,输出,起始位置最靠左的 样例输入:Confuciuss say:Mandam,I ˊm Adam. 样例输出...
分类:其他好文   时间:2014-05-06 23:10:46    阅读次数:332
poj3080(Blue Jeans)kmp求多个串公共子串
题意:给出1-10个长度为60的字符串,求出最长的公共子串(长度不能小于3),如果有多个一样长的,输出字典序最短的。 解法:想到kmp时,自己第一反应枚举第一个串的所有子串,在其他所有串中走一遍kmp,复杂度为10*60*60*60,但是发现只需枚举第一个串后缀就可以,每次枚举记录在所有串能走最远中走的最短的那个长度。这样复杂度就成了10*60*60,0ms AC。 代码:/*****...
分类:其他好文   时间:2014-05-06 22:41:38    阅读次数:320
Decode Ways
这个题目的递归解法是容易的,但有大量的重复计算,如果不存在没有解码的子串的话,会是指数级的时间复杂度。然而,我们能够通过记录已经计算过的子问题,来降低重复计算,于是有了改进的版本一。但版本一种需要O(n)的空间复杂度。进一步观察问题,发现递推关系其实比较像斐波那契数列,不同之处在于递推关系中的求和是...
分类:其他好文   时间:2014-05-06 01:06:01    阅读次数:361
【解题报告】[动态规划] - PID90 / 未出现的子串
原题地址:http://www.rqnoj.cn/problem/90解题思路:题目看起来不太像动态规划。。。我用一个数组f[i][j]来表示在数组第i个元素的后面第一次出现j的位置,为-1则是没出现过。然后每次查找最大的位置即可。如题目例子中:f 1 3 5 2 4 1 3 5 2 2 2 2.....
分类:其他好文   时间:2014-05-05 09:55:18    阅读次数:448
CF(427D-Match & Catch)后缀数组应用
题意:给两个字符串,求一个最短的子串。使得这个子串在两个字符串中出现的次数都等于1.出现的定义为:可以重叠的出现。 解法:后缀数组的应用。从小枚举长度。如果一个长度len合法的话:则一定存在这个样的sa[i]排名。sa[i]与s[i+1]的公共前缀长度大于等于len,且sa[i]与[i-1]的公共前缀长度小于len,同时sa[i+1]与[i+2]的公共前缀长度小于len,同时保证sa[i...
分类:其他好文   时间:2014-05-04 09:42:00    阅读次数:275
5576条   上一页 1 ... 555 556 557 558 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!