Fast algorithms for finding nearest common ancestors
SIAM Journal on Computing
Fast parallel and serial approximate string matching
Journal of Algorithms
Highly parallelizable problems
STOC '89 Proceedings of the twenty-first annual ACM symposium on Theory of computing
A Space-Economical Suffix Tree Construction Algorithm
Journal of the ACM (JACM)
Linear-Time Longest-Common-Prefix Computation in Suffix Arrays and Its Applications
CPM '01 Proceedings of the 12th Annual Symposium on Combinatorial Pattern Matching
Optimal suffix tree construction with large alphabets
FOCS '97 Proceedings of the 38th Annual Symposium on Foundations of Computer Science
Substring compression problems
SODA '05 Proceedings of the sixteenth annual ACM-SIAM symposium on Discrete algorithms
Linear pattern matching algorithms
SWAT '73 Proceedings of the 14th Annual Symposium on Switching and Automata Theory (swat 1973)
Generalized Substring Compression
CPM '09 Proceedings of the 20th Annual Symposium on Combinatorial Pattern Matching
Simple linear work suffix array construction
ICALP'03 Proceedings of the 30th international conference on Automata, languages and programming
Data structures for range minimum queries in multidimensional arrays
SODA '10 Proceedings of the twenty-first annual ACM-SIAM symposium on Discrete Algorithms
ICALP'10 Proceedings of the 37th international colloquium conference on Automata, languages and programming
Orthogonal range searching on the RAM, revisited
Proceedings of the twenty-seventh annual symposium on Computational geometry
Hi-index | 0.00 |
In this paper, we define the Range LCP problem as follows. Preprocess a string S, of length n, to enable efficient solutions of the following query: Given $[i,j],\ \ 0, compute max ℓ, k∈{i,…,j}LCP(Sℓ, Sk), where LCP(Sℓ, Sk) is the length of the longest common prefix of the suffixes of S starting at locations ℓ and k. This is a natural generalization of the classical LCP problem. Surprisingly, while it is known how to preprocess a string in linear time to enable LCP computation of two suffixes in constant time, this seems quite difficult in the Range LCP problem. It is trivial to answer such queries in time O(|j−i|2) after a linear-time preprocessing and easy to show an O(1) query algorithm after an O(|S|2) time preprocessing. We provide algorithms that solve the problem with the following complexities: 1 Preprocessing Time:O(|S|), Space:O(|S|), Query Time:O(|j−i|loglogn). Preprocessing Time: no preprocessing, Space:O(|j−i|log|j−i|), Query Time:O(|j−i|log|j−i|). However, the query just gives the pairs with the longest LCP, not the LCP itself. Preprocessing Time:O(|S|log2 |S|), Space:O(|S|log1+ε |S|) for arbitrary small constant ε, Query Time:O(loglog|S|).