@article{1773560,
abstract = {We investigate a problem which arises in computational biology: Given a constant-size alphabet [Mathematical script A] with a weight function µ : [Mathematical script A] --> [Double-struck N], find an efficient data structure and query algorithm solving the following problem: For a string [sigma] over [Mathematical script A] and a weight [Mathematical italic M] [element of] [Double-struck N], decide whether [sigma] contains a substring with weight [Mathematical italic M], where the weight of a string is the sum of the weights of its letters (One-String Mass Finding Problem). If the answer is yes, then we may in addition require a witness, i.e., indices i [less-than or equal to] j such that the substring beginning at position i and ending at position j has weight [Mathematical italic M]. We allow preprocessing of the string and measure efficiency in two parameters: storage space required for the preprocessed data and running time of the query algorithm for given [Mathematical italic M]. We are interested in data structures and algorithms requiring subquadratic storage space and sublinear query time, where we measure the input size as the length n of the input string [sigma]. Among others, we present two non-trivial efficient algorithms: Lookup solves the problem with O(n) storage space and O(n/log n) time; Interval solves the problem for binary alphabets with O(n) storage space in O(log n) query time. We introduce other variants of the problem and sketch how our algorithms may be extended for these variants. Finally, we discuss combinatorial properties of weighted strings.},
author = {Cieliebak, Mark and Erlebach, Thomas and Lipták, Zsuzsanna and Stoye, Jens and Welzl, Emo},
issn = {0166-218X},
journal = {Discrete Applied Mathematics},
keyword = {Computational biology, Weighted strings, Protein identification},
number = {1},
pages = {27--46},
title = {{Algorithmic complexity of protein identification: combinatorics of weighted strings}},
doi = {10.1016/S0166-218X(03)00187-2},
volume = {137},
year = {2004},
}