Tomasz Walen

dblp:80/5679 · DBLP profile ↗
← Back
93ranked-venue papers
0as first author
22since 2021 · last 2026
0000-0002-7369-3309ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Theory of computation · 59 · 14 since 2021Graphics, computer vision, multimedia, augmented reality and games · 19 · 5 since 2021Databases, data management, data science and information retrieval · 17 · 3 since 2021Applied, interdisciplinary, general and emerging computing · 1
YearPublicationVenuePosition
2026 Improved Bounds on the Maximum Number of Distinct Squares in Circular Words
abstract
We investigate the asymptotic growth of function CS(n), which maps n to the maximum number of distinct squares in a circular word of length n (that is, the maximum number of distinct squares of length at most n in a word ww of length 2n). We improve upon the lower bound of 1.25n established by Amit and Gawrychowski [SPIRE 2017] and the straightforward upper bound of 2n, which follows from the recent result of Brlek and Li [Comb. Theory, 2025] stating that there are fewer than n squares in standard (i.e., non-circular) words of length n. (Previously, Amit and Gawrychowski gave an upper bound of 32/15n using a weaker upper bound on squares in standard words.) Specifically, we show that CS(n) ≤ ⌈1.8 n⌉ and that, for infinitely many n, CS(n) ≥ 1.5n-𝒪(√n). For the lower bound, we exploit the combinatorial structure of Fibonacci words to construct a family of square-rich circular words. For the upper bound, we exploit density properties of the starting positions of long squares, adapting an approach of Amit and Gawrychowski.
Panagiotis Charalampopoulos, Manal Mohamed 0001, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen, Wiktor Zuba
CPM5
2026 Faster Algorithms for Ranking/Unranking Bordered and Unbordered Words
Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
Theory Comput. Syst.3
2026 Internal quasiperiod queries
Maxime Crochemore, Costas S. Iliopoulos, Jakub Radoszewski, Wojciech Rytter, Juliusz Straszynski, Tomasz Walen, Wiktor Zuba
Theor. Comput. Sci.6
2025 Fast Computation of k-Runs, Parameterized Squares, and Other Generalised Squares
abstract
A k-mismatch square is a string of the form XY where X and Y are two equal-length strings that have at most k mismatches. Kolpakov and Kucherov [Theor. Comput. Sci., 2003] defined two notions of k-mismatch repeats, called k-repetitions and k-runs, each representing a sequence of consecutive k-mismatch squares of equal length. They proposed algorithms for computing k-repetitions and k-runs working in 𝒪(nklog k+output) time for a string of length n over an integer alphabet, where output is the number of the reported repeats. We show that output = 𝒪(nk log k), both in case of k-repetitions and k-runs, which implies that the complexity of their algorithms is actually 𝒪(nk log k). We apply this result to computing parameterized squares. A parameterized square is a string of the form XY such that X and Y parameterized-match, i.e., there exists a bijection f on the alphabet such that f(X) = Y. Two parameterized squares XY and X'Y' are equivalent if they parameterized match. Recently Hamai et al. [SPIRE 2024] showed that a string of length n over an alphabet of size σ contains less than nσ non-equivalent parameterized squares, improving an earlier bound by Kociumaka et al. [Theor. Comput. Sci., 2016]. We apply our bound for k-mismatch repeats to propose an algorithm that reports all non-equivalent parameterized squares in 𝒪(nσ log σ) time. We also show that the number of non-equivalent parameterized squares can be computed in 𝒪(n log n) time. This last algorithm applies to squares under any substring compatible equivalence relation and also to counting squares that are distinct as strings. In particular, this improves upon the 𝒪(nσ)-time algorithm of Gawrychowski et al. [CPM 2023] for counting order-preserving squares that are distinct as strings if σ = ω(log n).
Yuto Nakashima 0001, Jakub Radoszewski, Tomasz Walen
ESA3
2025 Counting Distinct Square Substrings in Sublinear Time
Panagiotis Charalampopoulos, Manal Mohamed 0001, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen, Wiktor Zuba
MFCS5
2025 Subsequence covers of words
abstract
We introduce subsequence covers (s-covers, in short), a new type of covers of a word. A word C is an s-cover of a word S if the occurrences of C in S as subsequences cover all the positions in S . The s-covers seem to be computationally much harder than standard covers of words (cf. Apostolico et al. (1991) [1] ), but, on the other hand, much easier than the related shuffle powers (Warmuth and Haussler (1984) [6] ). We give a linear-time algorithm for testing if a candidate word C is an s-cover of a word S over a polynomially-bounded integer alphabet. We also give an algorithm for finding a shortest s-cover of a word S , which in the case of a constant-sized alphabet, also runs in linear time. The words without proper s-cover are called s-primitive. We complement our algorithmic results with explicit lower and an upper bound on the length of a longest s-primitive word. Both bounds are exponential in the size of the alphabet. The upper bound presented here improves the bound given in the conference version of this paper [SPIRE 2022].
Panagiotis Charalampopoulos, Solon P. Pissis, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen, Wiktor Zuba
Theor. Comput. Sci.5
2024 Faster Algorithms for Ranking/Unranking Bordered and Unbordered Words
Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
SPIRE3
2024 Approximate Circular Pattern Matching Under Edit Distance
abstract
In the $k$-Edit Circular Pattern Matching ($k$-Edit CPM) problem, we are given a length-$n$ text $T$, a length-$m$ pattern $P$, and a positive integer threshold $k$, and we are to report all starting positions of the substrings of $T$ that are at edit distance at most $k$ from some cyclic rotation of $P$. In the decision version of the problem, we are to check if any such substring exists. Very recently, Charalampopoulos et al. [ESA 2022] presented $O(nk^2)$-time and $O(nk \log^3 k)$-time solutions for the reporting and decision versions of $k$-Edit CPM, respectively. Here, we show that the reporting and decision versions of $k$-Edit CPM can be solved in $O(n+(n/m) k^6)$ time and $O(n+(n/m) k^5 \log^3 k)$ time, respectively, thus obtaining the first algorithms with a complexity of the type $O(n+(n/m) \mathrm{poly}(k))$ for this problem. Notably, our algorithms run in $O(n)$ time when $m=Ω(k^6)$ and are superior to the previous respective solutions when $m=ω(k^4)$. We provide a meta-algorithm that yields efficient algorithms in several other interesting settings, such as when the strings are given in a compressed form (as straight-line programs), when the strings are dynamic, or when we have a quantum computer. We obtain our solutions by exploiting the structure of approximate circular occurrences of $P$ in $T$, when $T$ is relatively short w.r.t. $P$. Roughly speaking, either the starting positions of approximate occurrences of rotations of $P$ form $O(k^4)$ intervals that can be computed efficiently, or some rotation of $P$ is almost periodic (is at a small edit distance from a string with small period). Dealing with the almost periodic case is the most technically demanding part of this work; we tackle it using properties of locked fragments (originating from [Cole and Hariharan, SICOMP 2002]).
Panagiotis Charalampopoulos, Solon P. Pissis, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen, Wiktor Zuba
STACS5
2024 Internal Pattern Matching Queries in a Text and Applications
abstract
Abstract. We consider several types of internal queries, that is, questions about fragments of a given text [Formula: see text] specified in constant space by their locations in [Formula: see text]. Our main result is an optimal data structure for internal pattern matching (IPM) queries, which, given two fragments [Formula: see text] and [Formula: see text], ask for a representation of all fragments contained in [Formula: see text] and matching [Formula: see text] exactly. This problem can be viewed as an internal version of the fundamental exact pattern matching problem: We are looking for exact occurrences of one substring of [Formula: see text] within another substring of [Formula: see text]. Our data structure answers IPM queries in time proportional to the quotient [Formula: see text] of the fragments’ lengths, which is required due to the worst-case information content of the output. If [Formula: see text] is a text of length [Formula: see text] over an integer alphabet of size [Formula: see text], then our data structure occupies [Formula: see text] machine words (that is, [Formula: see text] bits) and admits an [Formula: see text]-time construction algorithm. We also show how to use IPM queries for answering internal queries corresponding to other classic string processing problems. Among others, we derive optimal data structures reporting the periods of a fragment and testing the cyclic equivalence of two fragments. Since the publication of the conference version of this paper [Kociumaka et al., Internal pattern matching queries in a text and applications, SODA 2015], IPM queries have found numerous further applications, following the path paved by the classic longest common extension (LCE) queries of Landau and Vishkin [ J. Comput. System Sci., 37 (1988), pp. 63–78]. In particular, IPM queries have been implemented in grammar-compressed and dynamic settings and, along with LCE queries, constitute elementary operations of the [Formula: see text] model, developed by Charalampopoulos, Kociumaka, and Wellnitz [ Faster approximate pattern matching: A unified approach, FOCS 2020] to design approximate pattern matching algorithms that work in multiple settings. All our algorithms are deterministic, whereas the data structure in the conference version of the paper only admits a randomized construction in [Formula: see text] expected time. To achieve this, we provide a novel construction of string synchronizing sets of Kempa and Kociumaka [ String synchronizing sets: Sublinear-time BWT construction and optimal LCE data structure, STOC 2019]. Our method, based on a new restricted version of the recompression technique of Jeż [ J. ACM, 63 (2016), pp. 4:1–4:51], yields a hierarchy of [Formula: see text] string synchronizing sets covering the whole spectrum of the fragments’ lengths.
Tomasz Kociumaka, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
SIAM J. Comput.4
2023 Linear-Time Computation of Cyclic Roots and Cyclic Covers of a String
Costas S. Iliopoulos, Tomasz Kociumaka, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen, Wiktor Zuba
CPM5
2022 Linear-Time Computation of Shortest Covers of All Rotations of a String
Maxime Crochemore, Costas S. Iliopoulos, Jakub Radoszewski, Wojciech Rytter, Juliusz Straszynski, Tomasz Walen, Wiktor Zuba
CPM6
2022 Rectangular Tile Covers of 2D-Strings
Jakub Radoszewski, Wojciech Rytter, Juliusz Straszynski, Tomasz Walen, Wiktor Zuba
CPM4
2022 Approximate Circular Pattern Matching
abstract
We consider approximate circular pattern matching (CPM, in short) under the Hamming and edit distance, in which we are given a length-$n$ text $T$, a length-$m$ pattern $P$, and a threshold $k>0$, and we are to report all starting positions of fragments of $T$ (called occurrences) that are at distance at most $k$ from some cyclic rotation of $P$. In the decision version of the problem, we are to check if any such occurrence exists. All previous results for approximate CPM were either average-case upper bounds or heuristics, except for the work of Charalampopoulos et al. [CKP$^+$, JCSS'21], who considered only the Hamming distance. For the reporting version of the approximate CPM problem, under the Hamming distance we improve upon the main algorithm of [CKP$^+$, JCSS'21] from ${\cal O}(n+(n/m)\cdot k^4)$ to ${\cal O}(n+(n/m)\cdot k^3)$ time; for the edit distance, we give an ${\cal O}(nk^2)$-time algorithm. We also consider the decision version of the approximate CPM problem. Under the Hamming distance, we obtain an ${\cal O}(n+(n/m)\cdot k^2\log k/\log\log k)$-time algorithm, which nearly matches the algorithm by Chan et al. [CGKKP, STOC'20] for the standard counterpart of the problem. Under the edit distance, the ${\cal O}(nk\log^2 k)$ running time of our algorithm nearly matches the ${\cal O}(nk)$ running time of the Landau-Vishkin algorithm [LV, J. Algorithms'89]. As a stepping stone, we propose an ${\cal O}(nk\log^2 k)$-time algorithm for the Longest Prefix $k'$-Approximate Match problem, proposed by Landau et al. [LMS, SICOMP'98], for all $k'\in \{1,\dots,k\}$. We give a conditional lower bound that suggests a polynomial separation between approximate CPM under the Hamming distance over the binary alphabet and its non-circular counterpart. We also show that a strongly subquadratic-time algorithm for the decision version of approximate CPM under edit distance would refute SETH.
Panagiotis Charalampopoulos, Tomasz Kociumaka, Jakub Radoszewski, Solon P. Pissis, Wojciech Rytter, Tomasz Walen, Wiktor Zuba
ESA6
2022 Subsequence Covers of Words
Panagiotis Charalampopoulos, Solon P. Pissis, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen, Wiktor Zuba
SPIRE5
2022 Efficient representation and counting of antipower factors in words
Tomasz Kociumaka, Jakub Radoszewski, Wojciech Rytter, Juliusz Straszynski, Tomasz Walen, Wiktor Zuba
Inf. Comput.5
2022 A periodicity lemma for partial words
Tomasz Kociumaka, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
Inf. Comput.4
2021 Computing Covers of 2D-Strings
abstract
We consider two notions of covers of a two-dimensional string T. A (rectangular) subarray P of T is a 2D-cover of T if each position of T is in an occurrence of P in T. A one-dimensional string S is a 1D-cover of T if its vertical and horizontal occurrences in T cover all positions of T. We show how to compute the smallest-area 2D-cover of an m × n array T in the optimal 𝒪(N) time, where N = mn, all aperiodic 2D-covers of T in 𝒪(N log N) time, and all 2D-covers of T in N^{4/3}⋅ log^{𝒪(1)}N time. Further, we show how to compute all 1D-covers in the optimal 𝒪(N) time. Along the way, we show that the Klee’s measure of a set of rectangles, each of width and height at least √n, on an n × n grid can be maintained in √n⋅ log^{𝒪(1)}n time per insertion or deletion of a rectangle, a result which could be of independent interest.
Panagiotis Charalampopoulos, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen, Wiktor Zuba
CPM4
2021 Hardness of Detecting Abelian and Additive Square Factors in Strings
abstract
We prove 3SUM-hardness (no strongly subquadratic-time algorithm, assuming the 3SUM conjecture) of several problems related to finding Abelian square and additive square factors in a string. In particular, we conclude conditional optimality of the state-of-the-art algorithms for finding such factors. Overall, we show 3SUM-hardness of (a) detecting an Abelian square factor of an odd half-length, (b) computing centers of all Abelian square factors, (c) detecting an additive square factor in a length-$n$ string of integers of magnitude $n^{\mathcal{O}(1)}$, and (d) a problem of computing a double 3-term arithmetic progression (i.e., finding indices $i \ne j$ such that $(x_i+x_j)/2=x_{(i+j)/2}$) in a sequence of integers $x_1,\dots,x_n$ of magnitude $n^{\mathcal{O}(1)}$. Problem (d) is essentially a convolution version of the AVERAGE problem that was proposed in a manuscript of Erickson. We obtain a conditional lower bound for it with the aid of techniques recently developed by Dudek et al. [STOC 2020]. Problem (d) immediately reduces to problem (c) and is a step in reductions to problems (a) and (b). In conditional lower bounds for problems (a) and (b) we apply an encoding of Amir et al. [ICALP 2014] and extend it using several string gadgets that include arbitrarily long Abelian-square-free strings. Our reductions also imply conditional lower bounds for detecting Abelian squares in strings over a constant-sized alphabet. We also show a subquadratic upper bound in this case, applying a result of Chan and Lewenstein [STOC 2015].
Jakub Radoszewski, Wojciech Rytter, Juliusz Straszynski, Tomasz Walen, Wiktor Zuba
ESA4
2021 String Covers of a Tree
Jakub Radoszewski, Wojciech Rytter, Juliusz Straszynski, Tomasz Walen, Wiktor Zuba
SPIRE4
2021 Internal Dictionary Matching
abstract
We introduce data structures answering queries concerning the occurrences of patterns from a given dictionary $$\mathsf {D}$$ in fragments of a given string T of length n. The dictionary is internal in the sense that each pattern in $$\mathsf {D}$$ is given as a fragment of T. This way, $$\mathsf {D}$$ takes space proportional to the number of patterns $$d=|\mathsf {D}|$$ rather than their total length, which could be $$\varTheta (n\cdot d)$$ . In particular, we consider the following types of queries: reporting and counting all occurrences of patterns from $$\mathsf {D}$$ in a fragment $$T[i \mathinner {.\,.}j]$$ and reporting distinct patterns from $$\mathsf {D}$$ that occur in $$T[i \mathinner {.\,.}j]$$ . We show how to construct, in $$O((n+d) \log ^{O(1)} n)$$ time, a data structure that answers each of these queries in time $$O(\log ^{O(1)} n+| output |)$$ . The case of counting patterns is much more involved and needs a combination of a locally consistent parsing with orthogonal range searching. Reporting distinct patterns, on the other hand, uses the structure of maximal repetitions in strings. Finally, we provide tight—up to subpolynomial factors—upper and lower bounds for the case of a dynamic dictionary.
Panagiotis Charalampopoulos, Tomasz Kociumaka, Manal Mohamed 0001, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
Algorithmica6
2021 Circular pattern matching with k mismatches
Panagiotis Charalampopoulos, Tomasz Kociumaka, Solon P. Pissis, Jakub Radoszewski, Wojciech Rytter, Juliusz Straszynski, Tomasz Walen, Wiktor Zuba
J. Comput. Syst. Sci.7
2021 Shortest covers of all cyclic shifts of a string
Maxime Crochemore, Costas S. Iliopoulos, Jakub Radoszewski, Wojciech Rytter, Juliusz Straszynski, Tomasz Walen, Wiktor Zuba
Theor. Comput. Sci.6
2020 Counting Distinct Patterns in Internal Dictionary Matching
abstract
We consider the problem of preprocessing a text T of length n and a dictionary 𝒟 in order to be able to efficiently answer queries CountDistinct(i,j), that is, given i and j return the number of patterns from 𝒟 that occur in the fragment T[i..j]. The dictionary is internal in the sense that each pattern in 𝒟 is given as a fragment of T. This way, the dictionary takes space proportional to the number of patterns d=|𝒟| rather than their total length, which could be Θ(n⋅ d). An 𝒪̃(n+d)-size data structure that answers CountDistinct(i,j) queries 𝒪(log n)-approximately in 𝒪̃(1) time was recently proposed in a work that introduced internal dictionary matching [ISAAC 2019]. Here we present an 𝒪̃(n+d)-size data structure that answers CountDistinct(i,j) queries 2-approximately in 𝒪̃(1) time. Using range queries, for any m, we give an 𝒪̃(min(nd/m,n²/m²)+d)-size data structure that answers CountDistinct(i,j) queries exactly in 𝒪̃(m) time. We also consider the special case when the dictionary consists of all square factors of the string. We design an 𝒪(n log² n)-size data structure that allows us to count distinct squares in a text fragment T[i..j] in 𝒪(log n) time.
Panagiotis Charalampopoulos, Tomasz Kociumaka, Manal Mohamed 0001, Jakub Radoszewski, Wojciech Rytter, Juliusz Straszynski, Tomasz Walen, Wiktor Zuba
CPM7
2020 Unary Words Have the Smallest Levenshtein k-Neighbourhoods
Panagiotis Charalampopoulos, Solon P. Pissis, Jakub Radoszewski, Tomasz Walen, Wiktor Zuba
CPM4
2020 The Number of Repetitions in 2D-Strings
abstract
The notions of periodicity and repetitions in strings, and hence these of runs and squares, naturally extend to two-dimensional strings. We consider two types of repetitions in 2D-strings: 2D-runs and quartics (quartics are a 2D-version of squares in standard strings). Amir et al. introduced 2D-runs, showed that there are 𝒪(n³) of them in an n × n 2D-string and presented a simple construction giving a lower bound of Ω(n²) for their number (Theoretical Computer Science, 2020). We make a significant step towards closing the gap between these bounds by showing that the number of 2D-runs in an n × n 2D-string is 𝒪(n² log² n). In particular, our bound implies that the 𝒪(n²log n + output) run-time of the algorithm of Amir et al. for computing 2D-runs is also 𝒪(n² log² n). We expect this result to allow for exploiting 2D-runs algorithmically in the area of 2D pattern matching. A quartic is a 2D-string composed of 2 × 2 identical blocks (2D-strings) that was introduced by Apostolico and Brimkov (Theoretical Computer Science, 2000), where by quartics they meant only primitively rooted quartics, i.e. built of a primitive block. Here our notion of quartics is more general and analogous to that of squares in 1D-strings. Apostolico and Brimkov showed that there are 𝒪(n² log² n) occurrences of primitively rooted quartics in an n × n 2D-string and that this bound is attainable. Consequently the number of distinct primitively rooted quartics is 𝒪(n² log² n). The straightforward bound for the maximal number of distinct general quartics is 𝒪(n⁴). Here, we prove that the number of distinct general quartics is also 𝒪(n² log² n). This extends the rich combinatorial study of the number of distinct squares in a 1D-string, that was initiated by Fraenkel and Simpson (Journal of Combinatorial Theory, Series A, 1998), to two dimensions. Finally, we show some algorithmic applications of 2D-runs. Specifically, we present algorithms for computing all occurrences of primitively rooted quartics and counting all general distinct quartics in 𝒪(n² log² n) time, which is quasi-linear with respect to the size of the input. The former algorithm is optimal due to the lower bound of Apostolico and Brimkov. The latter can be seen as a continuation of works on enumeration of distinct squares in 1D-strings using runs (Crochemore et al., Theoretical Computer Science, 2014). However, the methods used in 2D are different because of different properties of 2D-runs and quartics.
Panagiotis Charalampopoulos, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen, Wiktor Zuba
ESA4
2020 Efficient Enumeration of Distinct Factors Using Package Representations
Panagiotis Charalampopoulos, Tomasz Kociumaka, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen, Wiktor Zuba
SPIRE5
2020 Internal Quasiperiod Queries
Maxime Crochemore, Costas S. Iliopoulos, Jakub Radoszewski, Wojciech Rytter, Juliusz Straszynski, Tomasz Walen, Wiktor Zuba
SPIRE6
2020 Shortest Covers of All Cyclic Shifts of a String
Maxime Crochemore, Costas S. Iliopoulos, Jakub Radoszewski, Wojciech Rytter, Juliusz Straszynski, Tomasz Walen, Wiktor Zuba
WALCOM6
2020 String periods in the order-preserving model
abstract
In the order-preserving model, two strings match if they share the same relative order between the characters at the corresponding positions. This model is quite recent, but it has already attracted significant attention because of its applications in data analysis. We introduce several types of periods in this setting (op-periods). Then we give algorithms to compute these periods in time O(n), O(nlog⁡log⁡n), O(nlog2⁡log⁡n/log⁡log⁡log⁡n), O(nlog⁡n) depending on the type of periodicity. In the most general variant, the number of different op-periods can be as big as Ω(n2), and a compact representation is needed. Our algorithms require novel combinatorial insight into the properties of op-periods. In particular, we characterize the Fine–Wilf property for coprime op-periods.
Garance Gourdel, Tomasz Kociumaka, Jakub Radoszewski, Wojciech Rytter, Arseny M. Shur, Tomasz Walen
Inf. Comput.6
2020 A Linear-Time Algorithm for Seeds Computation
abstract
A seed in a word is a relaxed version of a period in which the occurrences of the repeating subword may overlap. Our first contribution is a linear-time algorithm computing a linear-size representation of all seeds of a word (the number of seeds might be quadratic). In particular, one can easily derive the shortest seed and the number of seeds from our representation. Thus, we solve an open problem stated in a survey by Smyth from 2000 and improve upon a previous O ( n log n )-time algorithm by Iliopoulos et al. from 1996. Our approach is based on combinatorial relations between seeds and subword complexity (used here for the first time in the context of seeds). In previous papers, compact representations of seeds consisted of two independent parts operating on the suffix tree of the input word and the suffix tree of its reverse, respectively. Our second contribution is a novel and significantly simpler representation of all seeds that avoids dealing with the suffix tree of the reversed word. This result is also of independent interest from a combinatorial point of view. A preliminary version of this work, with a much more complex algorithm constructing a representation of seeds on two suffix trees, was presented at the 23rd Annual ACM-SIAM Symposium on Discrete Algorithms (SODA’12).
Tomasz Kociumaka, Marcin Kubica 0001, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
ACM Trans. Algorithms5
2020 Universal reconstruction of a string
Pawel Gawrychowski, Tomasz Kociumaka, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
Theor. Comput. Sci.5
2019 Quasi-Linear-Time Algorithm for Longest Common Circular Factor
abstract
We introduce the Longest Common Circular Factor (LCCF) problem in which, given strings $S$ and $T$ of length $n$, we are to compute the longest factor of $S$ whose cyclic shift occurs as a factor of $T$. It is a new similarity measure, an extension of the classic Longest Common Factor. We show how to solve the LCCF problem in $O(n \log^5 n)$ time.
Mai Abdulaziz Alzamel, Maxime Crochemore, Costas S. Iliopoulos, Tomasz Kociumaka, Jakub Radoszewski, Wojciech Rytter, Juliusz Straszynski, Tomasz Walen, Wiktor Zuba
CPM8
2019 Circular Pattern Matching with k Mismatches
abstract
The k -mismatch problem consists in computing the Hamming distance between a pattern P of length m and every length- m substring of a text T of length n , if this distance is no more than k . In many real-world applications, any cyclic shift of P is a relevant pattern, and thus one is interested in computing the minimal distance of every length- m substring of T and any cyclic shift of P . This is the circular pattern matching with k mismatches ( k -CPM) problem. A multitude of papers have been devoted to solving this problem but, to the best of our knowledge, only average-case upper bounds are known. In this paper, we present the first non-trivial worst-case upper bounds for the k -CPM problem. Specifically, we show an \(\mathcal {O}(nk)\) -time algorithm and an \(\mathcal {O}(n+\frac{n}{m}\,{\small k^5})\) -time algorithm. The latter algorithm applies in an extended way a technique that was very recently developed for the k -mismatch problem [Bringmann et al., SODA 2019].
Panagiotis Charalampopoulos, Tomasz Kociumaka, Solon P. Pissis, Jakub Radoszewski, Wojciech Rytter, Juliusz Straszynski, Tomasz Walen, Wiktor Zuba
FCT7
2019 Internal Dictionary Matching
Panagiotis Charalampopoulos, Tomasz Kociumaka, Manal Mohamed 0001, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
ISAAC6
2019 Efficient Representation and Counting of Antipower Factors in Words
Tomasz Kociumaka, Jakub Radoszewski, Wojciech Rytter, Juliusz Straszynski, Tomasz Walen, Wiktor Zuba
LATA5
2019 Weighted Shortest Common Supersequence Problem Revisited
Panagiotis Charalampopoulos, Tomasz Kociumaka, Solon P. Pissis, Jakub Radoszewski, Wojciech Rytter, Juliusz Straszynski, Tomasz Walen, Wiktor Zuba
SPIRE7
2018 Linear-Time Algorithm for Long LCF with k Mismatches
abstract
In the Longest Common Factor with k Mismatches (LCF_k) problem, we are given two strings X and Y of total length n, and we are asked to find a pair of maximal-length factors, one of X and the other of Y, such that their Hamming distance is at most k. Thankachan et al. [Thankachan et al. 2016] show that this problem can be solved in O(n log^k n) time and O(n) space for constant k. We consider the LCF_k(l) problem in which we assume that the sought factors have length at least l. We use difference covers to reduce the LCF_k(l) problem with l=Omega(log^{2k+2}n) to a task involving m=O(n/log^{k+1}n) synchronized factors. The latter can be solved in O(m log^{k+1}m) time, which results in a linear-time algorithm for LCF_k(l) with l=Omega(log^{2k+2}n). In general, our solution to the LCF_k(l) problem for arbitrary l takes O(n + n log^{k+1} n/sqrt{l}) time.
Panagiotis Charalampopoulos, Maxime Crochemore, Costas S. Iliopoulos, Tomasz Kociumaka, Solon P. Pissis, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
CPM8
2018 On Periodicity Lemma for Partial Words
Tomasz Kociumaka, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
LATA4
2018 Faster Recovery of Approximate Periods over Edit Distance
Tomasz Kociumaka, Jakub Radoszewski, Wojciech Rytter, Juliusz Straszynski, Tomasz Walen, Wiktor Zuba
SPIRE5
2018 String Periods in the Order-Preserving Model
Garance Gourdel, Tomasz Kociumaka, Jakub Radoszewski, Wojciech Rytter, Arseny M. Shur, Tomasz Walen
STACS6
2018 On the string consensus problem and the Manhattan sequence consensus problem
Tomasz Kociumaka, Jakub Pachocki, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
Theor. Comput. Sci.5
2018 Efficient algorithms for shortest partial seeds in words
Tomasz Kociumaka, Solon P. Pissis, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
Theor. Comput. Sci.5
2017 Efficient Enumeration of Non-Equivalent Squares in Partial Words with Few Holes
Panagiotis Charalampopoulos, Maxime Crochemore, Costas S. Iliopoulos, Tomasz Kociumaka, Solon P. Pissis, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
COCOON8
2017 String Powers in Trees
abstract
In this paper we consider substrings of an unrooted edge-labeled tree, which are defined as the composite labels of simple paths. We study how the number of distinct repetitive substrings depends on their exponent $$\alpha $$ . An $$\alpha $$ -power is defined as a string U with an (integral, not necessarily shortest) period $$|U|/\alpha $$ . For example, squares are 2-powers and cubes are 3-powers. We investigate the asymptotic growth of the maximal number $$\textsf {powers}_{\alpha }(n)$$ of distinct $$\alpha $$ -powers occurring as substrings of a tree with n nodes. The maximum number of such powers behaves much unlike in strings. In a previous work (CPM 2012. LNCS, vol 7354. Springer, Berlin, pp 27–40, 2012. It was proved that the number of different squares in a tree is $$\textsf {powers}_2(n) = \varTheta (n^{4/3})$$ . We extend this result and analyze powers of arbitrary rational exponent $$\alpha \ge 1$$ . We identify two phase-transition thresholds: This is a full version of a paper presented at CPM 2015. LNCS, vol 9133. Springer, Berlin, pp 284–294, 2015. Compared to the earlier version, we improve our main technical contribution, i.e., the upper bound on the number of cubes in a tree, from $$\mathcal {O}(n \log n)$$ to $$\mathcal {O}(n)$$ . This lets us obtain a tight asymptotic characterization of the $$\textsf {powers}$$ function.
Tomasz Kociumaka, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
Algorithmica4
2017 Covering problems for partial words and for indeterminate strings
Maxime Crochemore, Costas S. Iliopoulos, Tomasz Kociumaka, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
Theor. Comput. Sci.6
2016 Faster Longest Common Extension Queries in Strings over General Alphabets
abstract
Longest common extension queries (often called longest common prefix queries) constitute a fundamental building block in multiple string algorithms, for example computing runs and approximate pattern matching. We show that a sequence of q LCE queries for a string of size n over a general ordered alphabet can be realized in O(q log log n + n log* n) time making only O(q + n) symbol comparisons. Consequently, all runs in a string over a general ordered alphabets can be computed in O(n log log n) time making O(n) symbol comparisons. Our results improve upon a solution by Kosolobov (Information Processing Letters, 2016), who designed an algorithm with O(n log^⅔ n) running time and conjectured that O(n) time is possible. Our paper makes a significant progress towards resolving this conjecture. Our techniques extend to the case of general unordered alphabets, when the time increases to O(q log n + n log* n). The main tools are difference covers and a variant of the disjoint-sets data structure by La Poutré (SODA 1990).
Pawel Gawrychowski, Tomasz Kociumaka, Wojciech Rytter, Tomasz Walen
CPM4
2016 Near-Optimal Computation of Runs over General Alphabet via Non-Crossing LCE Queries
Maxime Crochemore, Costas S. Iliopoulos, Tomasz Kociumaka, Ritu Kundu, Solon P. Pissis, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
SPIRE8
2016 Polynomial-time approximation algorithms for weighted LCS problem
Marek Cygan, Marcin Kubica 0001, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
Discret. Appl. Math.5
2016 On the greedy algorithm for the Shortest Common Superstring problem with reversals
Gabriele Fici, Tomasz Kociumaka, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
Inf. Process. Lett.5
2016 Order-preserving indexing
Maxime Crochemore, Costas S. Iliopoulos, Tomasz Kociumaka, Marcin Kubica 0001, Alessio Langiu, Solon P. Pissis, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
Theor. Comput. Sci.9
2016 Maximum number of distinct and nonequivalent nonstandard squares in a word
Tomasz Kociumaka, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
Theor. Comput. Sci.4
2015 String Powers in Trees
Tomasz Kociumaka, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
CPM4
2015 Internal Pattern Matching Queries in a Text and Applications
abstract
We consider several types of internal queries: questions about subwords of a text. As the main tool we develop an optimal data structure for the problem called here internal pattern matching. This data structure provides constant-time answers to queries about occurrences of one subword x in another subword y given text, assuming that , which allows for a constant-space representation of all occurrences. This problem can be viewed as a natural extension of the well-studied pattern matching problem. The data structure has linear size and admits a linear-time construction algorithm. Using the solution to the internal pattern matching problem, we obtain very efficient data structures answering queries about: primitivity of subwords, periods of subwords, general substring compression, and cyclic equivalence of two subwords. All these results improve upon the best previously known counterparts. The linear construction time of our data structure also allows to improve the algorithm for finding δ-subrepetitions in a text (a more general version of maximal repetitions, also called runs). For any fixed δ we obtain the first linear-time algorithm, which matches the linear time complexity of the algorithm computing runs. Our data structure has already been used as a part of the efficient solutions for subword suffix rank & selection, as well as substring compression using Burrows-Wheeler transform composed with run-length encoding. The model of internal queries in texts is connected to the well-studied problem of text indexing. Both models have their origins in the introduction of suffix trees. However, there is an important difference: in our model the size of the representation of a query is constant and therefore enables faster query time. Our results can be viewed as efficient solutions to “internal” equivalents of several basic problems of regular pattern matching and make an improvement in a majority of already published results related to internal queries.
Tomasz Kociumaka, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
SODA4
2015 Efficient Algorithms for Longest Closed Factor Array
Hideo Bannai, Shunsuke Inenaga, Tomasz Kociumaka, Arnaud Lefebvre, Jakub Radoszewski, Wojciech Rytter, Shiho Sugimoto, Tomasz Walen
SPIRE8
2015 Tight Bound for the Number of Distinct Palindromes in a Tree
Pawel Gawrychowski, Tomasz Kociumaka, Wojciech Rytter, Tomasz Walen
SPIRE4
2015 Universal Reconstruction of a String
Pawel Gawrychowski, Tomasz Kociumaka, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
WADS5
2015 Fast Algorithm for Partial Covers in Words
abstract
A factor $$u$$ of a word $$w$$ is a cover of $$w$$ if every position in $$w$$ lies within some occurrence of $$u$$ in $$w$$ . A word $$w$$ covered by $$u$$ thus generalizes the idea of a repetition, that is, a word composed of exact concatenations of $$u$$ . In this article we introduce a new notion of $$\alpha $$ -partial cover, which can be viewed as a relaxed variant of cover, that is, a factor covering at least $$\alpha $$ positions in $$w$$ . We develop a data structure of $$\mathcal {O}(n)$$ size (where $$n=|w|$$ ) that can be constructed in $$\mathcal {O}(n\log n)$$ time which we apply to compute all shortest $$\alpha $$ -partial covers for a given $$\alpha $$ . We also employ it for an $$\mathcal {O}(n\log n)$$ -time algorithm computing a shortest $$\alpha $$ -partial cover for each $$\alpha =1,2,\ldots ,n$$ .
Tomasz Kociumaka, Solon P. Pissis, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
Algorithmica5
2015 Linear-time version of Holub's algorithm for morphic imprimitivity testing
Tomasz Kociumaka, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
Theor. Comput. Sci.4
2014 Efficient Algorithms for Shortest Partial Seeds in Words
Tomasz Kociumaka, Solon P. Pissis, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
CPM5
2014 Maximum Number of Distinct and Nonequivalent Nonstandard Squares in a Word
Tomasz Kociumaka, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
Developments in Language Theory4
2014 Covering Problems for Partial Words and for Indeterminate Strings
Maxime Crochemore, Costas S. Iliopoulos, Tomasz Kociumaka, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
ISAAC6
2014 On the String Consensus Problem and the Manhattan Sequence Consensus Problem
Tomasz Kociumaka, Jakub Pachocki, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
SPIRE5
2014 New simple efficient algorithms computing powers and runs in strings
Maxime Crochemore, Costas S. Iliopoulos, Marcin Kubica 0001, Jakub Radoszewski, Wojciech Rytter, Krzysztof Stencel, Tomasz Walen
Discret. Appl. Math.7
2014 Extracting powers and periods in a word from its runs structure
Maxime Crochemore, Costas S. Iliopoulos, Marcin Kubica 0001, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
Theor. Comput. Sci.6
2014 Efficient counting of square substrings in a tree
Tomasz Kociumaka, Jakub Pachocki, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
Theor. Comput. Sci.5
2013 Fast Algorithm for Partial Covers in Words
Tomasz Kociumaka, Solon P. Pissis, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
CPM5
2013 Linear-Time Version of Holub's Algorithm for Morphic Imprimitivity Testing
Tomasz Kociumaka, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
LATA4
2013 Order-Preserving Incomplete Suffix Trees and Order-Preserving Indexes
Maxime Crochemore, Costas S. Iliopoulos, Tomasz Kociumaka, Marcin Kubica 0001, Alessio Langiu, Solon P. Pissis, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
SPIRE9
2013 A note on efficient computation of all Abelian periods in a string
Maxime Crochemore, Costas S. Iliopoulos, Tomasz Kociumaka, Marcin Kubica 0001, Jakub Pachocki, Jakub Radoszewski, Wojciech Rytter, Wojciech Tyczynski, Tomasz Walen
Inf. Process. Lett.9
2013 A linear time algorithm for consecutive permutation pattern matching
Marcin Kubica 0001, Tomasz Kulczynski, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
Inf. Process. Lett.5
2013 Efficient seed computation revisited
Michalis Christou, Maxime Crochemore, Costas S. Iliopoulos, Marcin Kubica 0001, Solon P. Pissis, Jakub Radoszewski, Wojciech Rytter, Bartosz Szreder, Tomasz Walen
Theor. Comput. Sci.9
2012 The Maximum Number of Squares in a Tree
Maxime Crochemore, Costas S. Iliopoulos, Tomasz Kociumaka, Marcin Kubica 0001, Jakub Radoszewski, Wojciech Rytter, Wojciech Tyczynski, Tomasz Walen
CPM8
2012 Efficient Counting of Square Substrings in a Tree
Tomasz Kociumaka, Jakub Pachocki, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
ISAAC5
2012 A linear time algorithm for seeds computation
abstract
A seed in a word is a relaxed version of a period. We show a linear time algorithm computing a compact representation of all the seeds of a word, in particular, the shortest seed. Thus, we solve an open problem stated in the survey by Smyth (2000) and improve upon a previous over 15-year old O(n log n) algorithm by Iliopoulos, Moore and Park (1996). Our approach is based on combinatorial relations between seeds and a variant of the LZ-factorization (used here for the first time in context of seeds).
Tomasz Kociumaka, Marcin Kubica 0001, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
SODA5
2012 Efficient Data Structures for the Factor Periodicity Problem
Tomasz Kociumaka, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
SPIRE4
2012 The maximal number of cubic runs in a word
Maxime Crochemore, Costas S. Iliopoulos, Marcin Kubica 0001, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
J. Comput. Syst. Sci.6
2012 Improved algorithms for the range next value problem and applications
Maxime Crochemore, Costas S. Iliopoulos, Marcin Kubica 0001, Mohammad Sohel Rahman, German Tischler, Tomasz Walen
Theor. Comput. Sci.6
2011 Efficient Seeds Computation Revisited
Michalis Christou, Maxime Crochemore, Costas S. Iliopoulos, Marcin Kubica 0001, Solon P. Pissis, Jakub Radoszewski, Wojciech Rytter, Bartosz Szreder, Tomasz Walen
CPM9
2011 Polynomial-Time Approximation Algorithms for Weighted LCS Problem
Marek Cygan, Marcin Kubica 0001, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
CPM5
2010 Algorithms for Three Versions of the Shortest Common Superstring Problem
Maxime Crochemore, Marek Cygan, Costas S. Iliopoulos, Marcin Kubica 0001, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
CPM7
2010 On the Maximal Sum of Exponents of Runsin a String
Maxime Crochemore, Marcin Kubica 0001, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
IWOCA5
2010 On the Maximal Number of Cubic Runs in a String
Maxime Crochemore, Costas S. Iliopoulos, Marcin Kubica 0001, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
LATA6
2010 Efficient Algorithms for Two Extensions of LPF Table: The Power of Suffix Arrays
Maxime Crochemore, Costas S. Iliopoulos, Marcin Kubica 0001, Wojciech Rytter, Tomasz Walen
SOFSEM5
2010 Extracting Powers and Periods in a String from Its Runs Structure
Maxime Crochemore, Costas S. Iliopoulos, Marcin Kubica 0001, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
SPIRE6
2010 Improved induced matchings in sparse graphs
Rok Erman, Lukasz Kowalik, Matjaz Krnc, Tomasz Walen
Discret. Appl. Math.4
2010 Finding Patterns In Given Intervals
abstract
In this paper, we study the pattern matching problem in given intervals. Depending on whether the intervals are given a priori for pre-processing, or during the query along with the pattern or, even in both the cases, we develop efficient solutions for different variants of this problem. In particular, we present efficient indexing schemes for each of the above variants of the problem.
Maxime Crochemore, Marcin Kubica 0001, Tomasz Walen, Costas S. Iliopoulos, Mohammad Sohel Rahman
Fundam. Informaticae3
2009 LPF Computation Revisited
Maxime Crochemore, Lucian Ilie, Costas S. Iliopoulos, Marcin Kubica 0001, Wojciech Rytter, Tomasz Walen
IWOCA6
2009 On the Maximal Number of Cubic Subwords in a String
Marcin Kubica 0001, Jakub Radoszewski, Wojciech Rytter, Tomasz Walen
IWOCA4
2008 Improved Algorithms for the Range Next Value Problem and Applications
abstract
The Range Next Value problem (Problem RNV) is a recent interesting variant of the range search problems, where the query is for the immediate next (or equal) value of a given number within a given interval of an array. Problem RNV was introduced and studied very recently by Crochemore et. al [Finding Patterns In Given Intervals, MFCS 2007]. In this paper, we present improved algorithms for Problem RNV. We also show how this problem can be used to achieve optimal query time for a number of interesting variants of the classic pattern matching problems.
Maxime Crochemore, Costas S. Iliopoulos, Marcin Kubica 0001, Mohammad Sohel Rahman, Tomasz Walen
STACS5
2007 Algorithms for Computing the Longest Parameterized Common Subsequence
Costas S. Iliopoulos, Marcin Kubica 0001, Mohammad Sohel Rahman, Tomasz Walen
CPM4
2007 Approximating reversal distance for strings with bounded number of duplicates
Petr Kolman, Tomasz Walen
Discret. Appl. Math.2
2006 Approximation of RNA Multiple Structural Alignment
Marcin Kubica 0001, Romeo Rizzi, Stéphane Vialette, Tomasz Walen
CPM4
2006 Reversal Distance for Strings with Duplicates: Linear Time Approximation Using Hitting Set
Petr Kolman, Tomasz Walen
WAOA2