码迷,mamicode.com
首页 >  
搜索关键字:lcp    ( 302个结果
UVA 10829 - L-Gap Substrings(后缀数组)
UVA 10829 - L-Gap Substrings 题目链接 题意:一个字符串如果形如UGU,的形式,G的长度为L,那么称这个字符串为L串,给定一个字符串,问这个字符串子串为g串的个数 思路:做这题前先做了POJ3693,有一个思想就是枚举长度分段,这样的话对于一个U长度为l的而言,只要在当前位置和当前位置之后(l + g)的位置分别向前向后找lcp,两个lcp加起来的长度...
分类:其他好文   时间:2014-08-23 20:24:21    阅读次数:349
POJ 3693 Maximum repetition substring(后缀数组神题)
POJ 3693 Maximum repetition substring 题目链接 题意:给定一个字符串,求出其子串中,重复次数最多的串,如果有相同的,输出字典序最小的 思路:枚举长度l,把字符串按l分段,这样对于长度为l的字符串,肯定会包含一个分段位置,这样一来就可以在每个分段位置,往后做一次lcp,求出最大匹配长度,然后如果匹配长度有剩余,看剩余多少,就往前多少位置再做一次...
分类:其他好文   时间:2014-08-23 19:05:11    阅读次数:215
UVA 11107 - Life Forms(Hash+LCP)
UVA 11107 - Life Forms 题目链接 题意:给定一个字符串,找出重复出现超过m次的字串的最大开始下标 思路:hash大法,需要点人品,然后二分答案,每次利用hash值去找出最大下标即可 代码: #include #include #include using namespace std; typedef unsigned long long ...
分类:其他好文   时间:2014-08-17 17:04:52    阅读次数:650
hdu 4691 Front compression (后缀数组)
题目大意: 介绍了一种压缩文本的方式,问压缩前后的文本长度。 思路分析: 后缀数组跑模板然后考虑两次l r之间的lcp。 然后减掉重复的长度。 注意ans2的累加。 #include #include #include #include #include #define maxn 200005 using namespace std; typedef lon...
分类:其他好文   时间:2014-08-13 19:03:07    阅读次数:178
hdu 4898 LCP+贪心思维
题意:将一个字符串切成k块,使得字典序最大的那块最小。 ORZ  WJMZBMR,几行题解读了一天才懂。 快速比较两个子串的大小可以利用LCP(最长公共前缀),比较公共前缀的下一个字符的大小就够了。 利用这种思想,首先我们可以预处理所有子串的LCP(后缀数组+记录 O(2nlog(2n))+O(n*n),dp(O(4*n*n))) 然后将这些子串利用LCP按照字典序排序,开始二分答案。...
分类:其他好文   时间:2014-08-02 15:38:33    阅读次数:276
codeforces Round 246 D. Prefixes and Suffixes (后缀数组 || KMP)
题目大意: 求一个子串,子串既是前缀又是后缀。 然后再求出它在整个串中出现的次数。 思路分析: 可以很容易想到如何判断一个串既是前缀又是后缀。 只需要它与 sa【0】 的lcp 等于 整个串的长度减去它的 sa 值。 然后接下来的工作是判断出现了 多少次。 首先我们想到,如果这个子串是目标前后缀。 那么出现过它的子串在sa 中的下标一定比这个串大。 因为它已经是最简的了。...
分类:其他好文   时间:2014-07-10 23:54:55    阅读次数:505
POJ 3693 Maximum repetition substring (后缀数组)
题目大意: 求出字典序最小,重复次数最多,的子串。 思路分析: RMQ + height 数组可以求出任意两个后缀的lcp 我们枚举答案字符串的重复的长度。 如果这个字符串的长度为 l ,而且这个字符串出现过两次或两次以上 那么你会发现在原串中  str[0] str[l] str[2*l] ....肯定有相邻的两个被包含在重复的串中。 我们求出这两个相邻的后缀的lcp 我...
分类:其他好文   时间:2014-07-05 23:47:48    阅读次数:178
POJ 3729 Facer’s string (后缀数组)
题目大意: 串1中有多少个后缀和 串2中的某个后缀 的lcp 为 k 思路分析: 先找出 长度至少为k的对数有多少。 再找出 至少为k+1的有多少 然后相减。 #include #include #include #include #include #include #define maxn 110005 using namespace std; int ...
分类:其他好文   时间:2014-07-03 16:26:57    阅读次数:195
poj 1743 最长不重叠重复子串 后缀数组+lcp+二分
题比较容易读懂,但是建模需动点脑子: 一个子串加常数形成的子串认为跟子串相同,求最长不重叠重复子串 题目中说 is disjoint from (i.e., non-overlapping with) at least one of its other appearance(s) 意味着不能重叠,举个例子 1, 2,3,  52, 53,54 1,2, 3和 52, 5...
分类:其他好文   时间:2014-07-02 15:15:01    阅读次数:289
hdu 4691 最长公共前缀 后缀数组 +lcp+rmq
http://acm.hdu.edu.cn/showproblem.php?pid=4691 去年暑假多校赛的题,当时还不会后缀数组 现在会了,其实自己组合后缀数组跟rmq还是对的,但是题意理解有问题,于是折腾了很久,,,, 此处简单解释下题目样例吧,希望对读者有帮助  以最后一组数据为例 myxophytamyxopodnabnabbednabbingnabit 6 0 9 9 1...
分类:其他好文   时间:2014-06-18 06:09:03    阅读次数:407
302条   上一页 1 ... 28 29 30 31 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!