3 research outputs found

    Faster queries for longest substring palindrome after block edit

    Full text link
    Palindromes are important objects in strings which have been extensively studied from combinatorial, algorithmic, and bioinformatics points of views. Manacher [J. ACM 1975] proposed a seminal algorithm that computes the longest substring palindromes (LSPals) of a given string in O(n) time, where n is the length of the string. In this paper, we consider the problem of finding the LSPal after the string is edited. We present an algorithm that uses O(n) time and space for preprocessing, and answers the length of the LSPals in O(\ell + \log \log n) time, after a substring in T is replaced by a string of arbitrary length \ell. This outperforms the query algorithm proposed in our previous work [CPM 2018] that uses O(\ell + \log n) time for each query

    Efficient Representation and Counting of Antipower Factors in Words

    Full text link
    A kk-antipower (for k2k \ge 2) is a concatenation of kk pairwise distinct words of the same length. The study of fragments of a word being antipowers was initiated by Fici et al. (ICALP 2016) and first algorithms for computing such fragments were presented by Badkobeh et al. (Inf. Process. Lett., 2018). We address two open problems posed by Badkobeh et al. We propose efficient algorithms for counting and reporting fragments of a word which are kk-antipowers. They work in O(nklogk)\mathcal{O}(nk \log k) time and O(nklogk+C)\mathcal{O}(nk \log k + C) time, respectively, where CC is the number of reported fragments. For k=o(n/logn)k=o(\sqrt{n/\log n}), this improves the time complexity of O(n2/k)\mathcal{O}(n^2/k) of the solution by Badkobeh et al. We also show that the number of different kk-antipower factors of a word of length nn can be computed in O(nk4logklogn)\mathcal{O}(nk^4 \log k \log n) time. Our main algorithmic tools are runs and gapped repeats. Finally we present an improved data structure that checks, for a given fragment of a word and an integer kk, if the fragment is a kk-antipower. This is a full and extended version of a paper from LATA 2019. In particular, all results about counting different antipowers factors are completely new compared with the LATA proceedings version.Comment: Full version of a paper from LATA 201

    Matching Patterns with Variables

    Full text link
    A pattern p (i.e., a string of variables and terminals) matches a word w, if w can be obtained by uniformly replacing the variables of p by terminal words. The respective matching problem, i.e., deciding whether or not a given pattern matches a given word, is generally NP-complete, but can be solved in polynomial-time for classes of patterns with restricted structure. In this paper we overview a series of recent results related to efficient matching for patterns with variables, as well as a series of extensions of this problem
    corecore