题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4278 因为每次要放后缀较小的那个,所以把两个序列放在一起排序吧。改一改模板。 其实要改的地方就是让后面序列那部分不要在倍增的时候更新前面序列那部分。 考虑 4 和 43 ,应该是 43 比 4 ...
分类:
编程语言 时间:
2018-12-06 14:32:40
阅读次数:
183
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4278 每次取两个后缀中字典序较小的那个的首字符; 注意超出去的部分是 inf 而不是 0,因为如果到了比较超出去部分的时候,那就是一个串走到了末尾而另一个没有(或者都到末尾,不过都到末尾就随便 ...
分类:
编程语言 时间:
2018-12-06 14:27:24
阅读次数:
201
Description 求两个串的最长连续公共字串 Solution 后缀数组入门题吧 把两个串连在一起,中间加一个分隔符,然后跑一遍后缀数组,得到 height 和 sa 一个 height[i] 对答案有贡献的充要条件是 sa[i] 和 sa[i 1] 分别在两个串中 Code cpp incl ...
分类:
其他好文 时间:
2018-12-04 21:12:22
阅读次数:
203
Description 题意:有 N(1 =x$的连续区间内, 且首字母位置相距$ x$ 最后的原数组重复子串的长度为 $ans + 1$ Code cpp include include include define rd read() using namespace std; const int ...
分类:
编程语言 时间:
2018-12-04 15:40:07
阅读次数:
199
study from : http://www.cnblogs.com/zwfymqz/p/8413523.html https://www.luogu.org/problemnew/show/P3809 study博客的height和一些题需要补 ...
分类:
编程语言 时间:
2018-12-04 13:21:07
阅读次数:
186
这篇博客的内容,主要建立于后缀排序的基础之上,进一步研究一个$Height$数组以及如何求$LCP$。 ...
分类:
编程语言 时间:
2018-12-03 21:03:05
阅读次数:
239
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1717 [算法] 首先二分答案 , 然后将后缀分组即可 详见2009国家集训队论文集之 : 《后缀数组——处理字符串的有利工具》 时间复杂度 : O(NlogN) [代码] ...
分类:
其他好文 时间:
2018-12-01 00:06:02
阅读次数:
198
这道题应该是后缀数组的套路题啊,把单词连接起来,中间用没有出现过且互不相同的字符来分隔开,求一下$height$数组。 对于一个单词来说,设单词长$len$,所在的后缀为$i$,如果某后缀$j$满足$lcp(i,j)==len$,则$j$的前缀与这个单词相等。因为和$i$的$lcp$大小是从$i$向 ...
分类:
其他好文 时间:
2018-11-30 11:16:03
阅读次数:
212
A musical melody is represented as a sequence of N (1<=N<=20000)notes that are integers in the range 1..88, each representing a key on the piano. It i ...
分类:
编程语言 时间:
2018-11-28 23:49:54
阅读次数:
236
题解: 题意: 输入n个DNA序列,你的任务是求出一个长度最大的字符串,使得它在超过一半的DNA序列中出现。如果有多解,按照字典序从小到大输入所有解。 把n个DNA序列拼在一起,中间用没有出现过的字符分割。然后求出height数组。 二分满足要求的字符串长度L,然后判断是否可行。 判断可行: 分组方 ...
分类:
编程语言 时间:
2018-11-28 23:39:06
阅读次数:
327