Jakub Radoszewski
University of Warsaw
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Jakub Radoszewski.
string processing and information retrieval | 2010
Maxime Crochemore; Costas S. Iliopoulos; Marcin Kubica; Jakub Radoszewski; Wojciech Rytter; Tomasz Waleń
A breakthrough in the field of text algorithms was the discovery of the fact that the maximal number of runs in a string 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 a few classical string problems: computing all distinct kth string powers for a given k, in particular squares for k = 2, and finding all local periods in a given string of length n. Additionally, we present an efficient algorithm for testing primitivity of factors of a string and computing their primitive roots. Applications of runs, despite their importance, are underrepresented in existing literature (approximately one page in the paper of Kolpakov & Kucherov, 1999). 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.
language and automata theory and applications | 2010
Maxime Crochemore; Costas S. Iliopoulos; Marcin Kubica; Jakub Radoszewski; Wojciech Rytter; Tomasz Waleń
A run is an inclusion maximal occurrence in a string (as a subinterval) of a repetition v with a period p such that 2p≤|v|. The maximal number of runs in a string of length n has been thoroughly studied, and is known to be between 0.944 n and 1.029 n. In this paper we investigate cubic runs, in which the shortest period p satisfies 3p≤|v|. We show the upper bound of 0.5 n on the maximal number of such runs in a string of length n, and construct an infinite sequence of words over binary alphabet for which the lower bound is 0.406 n.
Information Processing Letters | 2013
Marcin Kubica; Tomasz Kulczyński; Jakub Radoszewski; Wojciech Rytter; Tomasz Waleń
Abstract We say that two sequences x and w of length m are order-isomorphic (of the same “shape”) if w [ i ] ⩽ w [ j ] if and only if x [ i ] ⩽ x [ j ] for each i , j ∈ [ 1 , m ] . We present a simple linear time algorithm for checking if a given sequence y of length n contains a factor which is order-isomorphic to a given pattern x. A factor is a subsequence of consecutive symbols of y, so we call our problem the consecutive permutation pattern matching. The (general) permutation pattern matching problem is related to general subsequences and is known to be NP-complete. We show that the situation for consecutive subsequences is significantly different and present an O ( n + m ) time algorithm under a natural assumption that the symbols of x can be sorted in O ( m ) time, otherwise the time is O ( n + m log m ) . In our algorithm we use a modification of the classical Knuth–Morris–Pratt string matching algorithm.
european symposium on algorithms | 2013
Tomasz Kociumaka; Jakub Radoszewski; Wojciech Rytter
We introduce efficient data structures for an indexing problem in non-standard stringology — jumbled pattern matching. Moosa and Rahman [J. Discr. Alg., 2012] gave an index for jumbled pattern matching for the case of binary alphabets with \(O(\frac{n^2}{\log^2 n})\)-time construction. They posed as an open problem an efficient solution for larger alphabets. In this paper we provide an index for any constant-sized alphabet. We obtain the first o(n 2)-space construction of an index with o(n) query time. It can be built in O(n 2) time. Precisely, our data structure can be implemented with O(n 2 − δ ) space and O(m (2σ − 1)δ ) query time for any δ > 0, where m is the length of the pattern and σ is the alphabet size (σ = O(1)). We also break the barrier of quadratic construction time for non-binary constant alphabet simultaneously obtaining poly-logarithmic query time.
Theoretical Computer Science | 2014
Maxime Crochemore; Costas S. Iliopoulos; Marcin Kubica; Jakub Radoszewski; Wojciech Rytter; Tomasz Waleń
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.
symposium on theoretical aspects of computer science | 2013
Tomasz Kociumaka; Jakub Radoszewski; Wojciech Rytter
We present efficient algorithms computing all Abelian periods of two types in a word. Regular Abelian periods are computed in O(n log log{n}) randomized time which improves over the best previously known algorithm by almost a factor of n. The other algorithm, for full Abelian periods, works in O(n) time. As a tool we develop an O(n) time construction of a data structure that allows O(1) time gcd(i,j) queries for all 1 <= i,j <= n, this is a result of independent interest.
string processing and information retrieval | 2012
Tomasz Kociumaka; Jakub Radoszewski; Wojciech Rytter; Tomasz Waleń
We present several efficient data structures for answering queries related to periods in words. For a given word w of length n the Period Query given a factor of w (represented by an interval) returns its shortest period and a compact representation of all periods. Several algorithmic solutions are proposed that balance the data structure space (ranging from O(n) to O(nlogn)), and the query time complexity (ranging from O(log1+en) to O(logn)).
Theoretical Computer Science | 2013
Michalis Christou; Maxime Crochemore; Costas S. Iliopoulos; Marcin Kubica; Solon P. Pissis; Jakub Radoszewski; Wojciech Rytter; Bartosz Szreder; T. Wale
The notion of the cover is a generalization of a period of a string, and there are linear time algorithms for finding the shortest cover. The seed is a more complicated generalization of periodicity, it is a cover of a superstring of a given string, and the shortest seed problem is of much higher algorithmic difficulty. The problem is not well understood, no linear time algorithm is known. In the paper we give linear time algorithms for some of its versions-computing shortest left-seed array, longest left-seed array and checking for seeds of a given length. The algorithm for the last problem is used to compute the seed array of a string (i.e., the shortest seeds for all the prefixes of the string) in O(n^2) time. We describe also a simpler alternative algorithm computing efficiently the shortest seeds. As a by-product we obtain an O(nlog(n/m)) time algorithm checking if the shortest seed has length at least m and finding the corresponding seed. We also correct some important details missing in the previously known shortest-seed algorithm Iliopoulos et al. (1996) [14].
combinatorial pattern matching | 2012
Maxime Crochemore; Costas S. Iliopoulos; Tomasz Kociumaka; Marcin Kubica; Jakub Radoszewski; Wojciech Rytter; Wojciech Tyczyński; Tomasz Waleń
We show that the maximum number of different square substrings in unrooted labelled trees behaves much differently than in words. A substring in a tree corresponds (as its value) to a simple path. Let
international symposium on algorithms and computation | 2016
Tomasz Kociumaka; Solon P. Pissis; Jakub Radoszewski
\textsf{sq}(n)