Fast algorithms for finding nearest common ancestors
SIAM Journal on Computing
Detecting leftmost maximal periodicities
Discrete Applied Mathematics - Combinatorics and complexity
How many squares can a string contain?
Journal of Combinatorial Theory Series A
Finding Maximal Repetitions in a Word in Linear Time
FOCS '99 Proceedings of the 40th Annual Symposium on Foundations of Computer Science
A linear-time algorithm for a special case of disjoint set union
STOC '83 Proceedings of the fifteenth annual ACM symposium on Theory of computing
Linear-time computation of local periods
Theoretical Computer Science
Linear time algorithms for finding and representing all the tandem repeats in a string
Journal of Computer and System Sciences
A simple proof that a word of length n has at most 2n distinct squares
Journal of Combinatorial Theory Series A
Algorithms on Strings
A note on the number of squares in a word
Theoretical Computer Science
Fast and Practical Algorithms for Computing All the Runs in a String
CPM '07 Proceedings of the 18th annual symposium on Combinatorial Pattern Matching
Generalized Substring Compression
CPM '09 Proceedings of the 20th Annual Symposium on Combinatorial Pattern Matching
Practical Algorithms for the Longest Common Extension Problem
SPIRE '09 Proceedings of the 16th International Symposium on String Processing and Information Retrieval
Repetitions in strings: Algorithms and combinatorics
Theoretical Computer Science
On the Maximal Number of Cubic Subwords in a String
Combinatorial Algorithms
Efficient Algorithms for Two Extensions of LPF Table: The Power of Suffix Arrays
SOFSEM '10 Proceedings of the 36th Conference on Current Trends in Theory and Practice of Computer Science
Space efficient linear time construction of suffix arrays
CPM'03 Proceedings of the 14th annual conference on Combinatorial pattern matching
Simple linear work suffix array construction
ICALP'03 Proceedings of the 30th international conference on Automata, languages and programming
Extracting powers and periods in a string from its runs structure
SPIRE'10 Proceedings of the 17th international conference on String processing and information retrieval
Theoretical Computer Science
Orthogonal range searching on the RAM, revisited
Proceedings of the twenty-seventh annual symposium on Computational geometry
Position-Restricted substring searching
LATIN'06 Proceedings of the 7th Latin American conference on Theoretical Informatics
A new succinct representation of RMQ-information and improvements in the enhanced suffix array
ESCAPE'07 Proceedings of the First international conference on Combinatorics, Algorithms, Probabilistic and Experimental Methodologies
Efficient data structures for the factor periodicity problem
SPIRE'12 Proceedings of the 19th international conference on String Processing and Information Retrieval
Hi-index | 5.23 |
A breakthrough in the field of text algorithms was the discovery of the fact that the maximal number of runs in a word of length n is O(n) and that they can all be computed in O(n) time. We study some applications of this result. New simpler O(n) time algorithms are presented for classical textual problems: computing all distinct k-th word powers for a given k, in particular squares for k=2, and finding all local periods in a given word of length n. Additionally, we present an efficient algorithm for testing primitivity of factors of a word and computing their primitive roots. Applications of runs, despite their importance, are underrepresented in existing literature (approximately one page in the paper of Kolpakov and Kucherov, 1999 [25,26]). In this paper we attempt to fill in this gap. We use Lyndon words and introduce the Lyndon structure of runs as a useful tool when computing powers. In problems related to periods we use some versions of the Manhattan skyline problem.