这题昨天比赛的时候逗了,后缀想不出来,由于n^2的T了,就没往后缀数组想……并且之后解题的人又说用二分套二分来做。然后就更不会了…… 刚才看了题解,唉……原来题讲解n^2的也能够过,然后就……这样了! #pragma comment(linker, "/STACK:1024000000,102400 ...
分类:
编程语言 时间:
2017-08-14 18:00:45
阅读次数:
185
后缀数组+st表+分块+离散化 警告!!!博主内心已经崩溃啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 ...
分类:
其他好文 时间:
2017-08-13 16:31:07
阅读次数:
137
一、相关介绍 后缀数组 处理字符串的有力工具 可以处理后缀自动机解决不了的问题 后缀数组被称为SA,后缀自动机被称为SAM 。 更详细的讲解点击 ...
分类:
编程语言 时间:
2017-08-13 16:28:01
阅读次数:
155
题意:不可重叠最长重复子串 有N(1 <= N <=20000)个音符的序列来表示一首乐曲,每个音符都是1..88范围内的整数,现在要找一个重复的主题。“主题”是整个音符序列的一个子串,它需要满足如下条件: 1.长度至少为5个音符。 2.在乐曲中重复出现。(可能经过转调,“转调”的意思是主题序列中每 ...
分类:
编程语言 时间:
2017-08-12 17:06:40
阅读次数:
156
一般遇到多串问题,就用不同的符号把他们接起来,当成一个串来处理。 如A串是"aaaba",B串是“abaa"。 把height数组按照不小于K分组,假设K = 2。从前向后扫描,对于每一组中的每个B,考虑前面A对其的贡献。 可以用栈来维护A的值。当要入栈的height值大于栈顶的值,统计得到的子串的 ...
分类:
编程语言 时间:
2017-08-11 22:59:22
阅读次数:
134
1 FZU 2267 The Bigger the Better 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <cstdlib> 5 #include <algorithm> 6 #include ...
分类:
编程语言 时间:
2017-08-11 22:03:26
阅读次数:
284
http://poj.org/problem?id=3693 整体思路就是枚举长度L,看长度为L的字符串在s中连续出现了几次。 既然长度为L的串是重复出现的,那么s[0]…s[L]…s[2*L]…中相邻的两个一定出现在重复的L串中。(并不一定在首尾位置,也可能出现在中间)。 那么我们求i*L和(i+ ...
分类:
编程语言 时间:
2017-08-11 19:31:49
阅读次数:
236
题意 给定一棵 n 个点的树, 每条边上有字符 c . 定义 s[i] 为从 i 到根的所有字符组成的字符串. 求 $\max_{1 \le u < v \le n} [ LCP(s[u], s[v]) + LCS(s[u], s[v]) ]$ . n <= 200000 . 实现1 n log^2 ...
分类:
编程语言 时间:
2017-08-10 15:36:29
阅读次数:
376
题目链接:http://poj.org/problem?id=2774 后缀数组真的太强大了,原本dp是n^2的复杂度,在这里只需要O(n+m)。 做法:将两个串中间夹一个未出现过的字符接起来,然后做一次后缀数组,得到的height相邻两个排名的后缀,在串中的位置如果满足在分界符左右两侧,就更新最长 ...
分类:
编程语言 时间:
2017-08-10 11:41:50
阅读次数:
227
我想告诉你一个关于后缀数组的故事。在一段时间里,我正在西雅图的一家公司面试,当时好奇的是如何最有效地创建一个用于可执行二进制文件的diff。我的研究给我带来了后缀数组和后缀树。后缀数组只是,将字符串的所有后缀排序,储存到有序列表中。后缀树是类似的,但是比列表更像BSTree。这些算法相当简单,一旦你 ...
分类:
编程语言 时间:
2017-08-10 01:15:12
阅读次数:
254