【题目链接】 http://poj.org/problem?id=2774 【题目大意】 求最长公共子串 【题解】 将两个串中间嵌一个字符相连,求一遍后缀数组 如果排名相邻的两个后缀的开端是分属于两个串的, 那么他们的最长公共前缀就可以用来更新答案 【代码】 ...
分类:
编程语言 时间:
2016-11-16 01:43:33
阅读次数:
147
http://www.lydsy.com/JudgeOnline/problem.php?id=1014 (题目链接) 题意 给出一个字符串,要求维护这些操作:询问后缀x与后缀y的LCQ(最长公共前缀),在第k个字符后插入一个字符,将第k个字符改成另一个字符。 Solution 对于修改与插入操作, ...
分类:
Web程序 时间:
2016-10-18 18:45:43
阅读次数:
204
题目大意:找出至少出现K次的子串的最长长度。 题目分析:二分枚举长度x,判断有没有最长公共前缀不小于x的并且连续出现了至少k次的有序子串区间。 代码如下: ...
分类:
编程语言 时间:
2016-10-13 02:08:11
阅读次数:
199
题目: Write a function to find the longest common prefix string amongst an array of strings. 官方难度: Easy 翻译: 写一个函数,用来寻找一个字符串数组中的最长公共前缀。 思路: 1. 长度为0的数组直接退 ...
分类:
其他好文 时间:
2016-10-12 10:51:29
阅读次数:
122
题目链接:http://uoj.ac/problem/131 题意:给出一个字符串,第i个字符对应的值为a[i], 对于i∈[0,n),求最长公共前缀大于等于i的字串对个数,并求这些字符串对开头对应值相乘最大值。n=3*10^5 题解: 学了个厉害的东西啊。。。 正解好像是sa+并查集(合并heig ...
分类:
其他好文 时间:
2016-10-03 16:54:55
阅读次数:
276
这题曾经用sam打过,现在学sa再来做一遍。 基本思路:计算A所有的后缀和B所有后缀之间的最长公共前缀。 分组之后,假设现在是做B的后缀。前面的串能和当前的B后缀产生的公共前缀必定是从前往后单调递增的,每次与h[i]取min时必定将栈尾一些长的全部取出来,搞成一个短的。 所以就开一个栈,栈里存的是长 ...
分类:
编程语言 时间:
2016-09-28 22:03:44
阅读次数:
227
题目大意:回答任意两个子串的最长公共前缀。 题目分析:后缀数组的模板题。但是输入输出都要外挂。 代码如下: ...
分类:
编程语言 时间:
2016-09-08 14:28:53
阅读次数:
130
14. Longest Common Prefix Write a function to find the longest common prefix string amongst an array of strings. 找出字符串集合的最长公共前缀。 思路:先计算出前两个字符串的最长公共前缀s ...
分类:
其他好文 时间:
2016-09-03 16:26:54
阅读次数:
130
1598: 最长公共前缀 Description 给定两个字符串s和t,现有一个扫描器,从s的最左边开始向右扫描,每次扫描到一个t就把这一段删除,输出能发现t的个数。 给定两个字符串s和t,现有一个扫描器,从s的最左边开始向右扫描,每次扫描到一个t就把这一段删除,输出能发现t的个数。 Input 第 ...
分类:
其他好文 时间:
2016-08-12 21:22:44
阅读次数:
145
题目链接:http://www.spoj.com/problems/DISUBSTR/en/ 题意:给定一个字符串,求不相同的子串个数。 思路:直接根据09年oi论文<<后缀数组——出来字符串的有力工具>>的解法。 还有另一种思想:总数为n*(n-1)/2,height[i]是两个后缀的最长公共前缀 ...
分类:
编程语言 时间:
2016-08-08 20:57:29
阅读次数:
209