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
题目链接
题意:给定一个字符串,求出其子串中,重复次数最多的串,如果有相同的,输出字典序最小的
思路:枚举长度l,把字符串按l分段,这样对于长度为l的字符串,肯定会包含一个分段位置,这样一来就可以在每个分段位置,往后做一次lcp,求出最大匹配长度,然后如果匹配长度有剩余,看剩余多少,就往前多少位置再做一次...
分类:
其他好文 时间:
2014-08-23 19:05:11
阅读次数:
215
UVA 11107 - Life Forms
题目链接
题意:给定一个字符串,找出重复出现超过m次的字串的最大开始下标
思路:hash大法,需要点人品,然后二分答案,每次利用hash值去找出最大下标即可
代码:
#include
#include
#include
using namespace std;
typedef unsigned long long ...
分类:
其他好文 时间:
2014-08-17 17:04:52
阅读次数:
650
题目大意:
介绍了一种压缩文本的方式,问压缩前后的文本长度。
思路分析:
后缀数组跑模板然后考虑两次l r之间的lcp。
然后减掉重复的长度。
注意ans2的累加。
#include
#include
#include
#include
#include
#define maxn 200005
using namespace std;
typedef lon...
分类:
其他好文 时间:
2014-08-13 19:03:07
阅读次数:
178
题意:将一个字符串切成k块,使得字典序最大的那块最小。
ORZ WJMZBMR,几行题解读了一天才懂。
快速比较两个子串的大小可以利用LCP(最长公共前缀),比较公共前缀的下一个字符的大小就够了。
利用这种思想,首先我们可以预处理所有子串的LCP(后缀数组+记录 O(2nlog(2n))+O(n*n),dp(O(4*n*n)))
然后将这些子串利用LCP按照字典序排序,开始二分答案。...
分类:
其他好文 时间:
2014-08-02 15:38:33
阅读次数:
276
题目大意:
求一个子串,子串既是前缀又是后缀。
然后再求出它在整个串中出现的次数。
思路分析:
可以很容易想到如何判断一个串既是前缀又是后缀。
只需要它与 sa【0】 的lcp 等于 整个串的长度减去它的 sa 值。
然后接下来的工作是判断出现了 多少次。
首先我们想到,如果这个子串是目标前后缀。
那么出现过它的子串在sa 中的下标一定比这个串大。
因为它已经是最简的了。...
分类:
其他好文 时间:
2014-07-10 23:54:55
阅读次数:
505
题目大意:
求出字典序最小,重复次数最多,的子串。
思路分析:
RMQ + height 数组可以求出任意两个后缀的lcp
我们枚举答案字符串的重复的长度。
如果这个字符串的长度为 l ,而且这个字符串出现过两次或两次以上
那么你会发现在原串中 str[0] str[l] str[2*l] ....肯定有相邻的两个被包含在重复的串中。
我们求出这两个相邻的后缀的lcp
我...
分类:
其他好文 时间:
2014-07-05 23:47:48
阅读次数:
178
题目大意:
串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
题比较容易读懂,但是建模需动点脑子:
一个子串加常数形成的子串认为跟子串相同,求最长不重叠重复子串
题目中说
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
http://acm.hdu.edu.cn/showproblem.php?pid=4691
去年暑假多校赛的题,当时还不会后缀数组
现在会了,其实自己组合后缀数组跟rmq还是对的,但是题意理解有问题,于是折腾了很久,,,,
此处简单解释下题目样例吧,希望对读者有帮助 以最后一组数据为例
myxophytamyxopodnabnabbednabbingnabit
6
0 9
9 1...
分类:
其他好文 时间:
2014-06-18 06:09:03
阅读次数:
407