{'fraction_non_alphanumeric': 0.03185136031851361, 'fraction_numerical': 0.005972130059721301, 'mean_word_length': 4.385714285714286, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
The Well-Separated Pair Decomposition and Its Applications

Computational geometry is concerned with the design and analysis of algorithms that solve problems on geometric data in R, where the dimension d is a constant. A large part of the field has been devoted to problems that involve distances determined by pairs of points in a given point set. Given a set S of n points in R, we may wish to compute a pair p, q of distinct points in S whose distance is minimum, the k smallest distances among the ( n 2 ) pairwise distances, the nearest neighbor of each point of S, or the minimum spanning tree of S. Most problems of this type can be rephrased as a graph problem on the complete Euclidean graph on S, in which each edge pq has a weight being the Euclidean distance |pq| between p and q. Since the number of edges in this graph is Θ(n), many problems involving pairwise distances can trivially be solved in O(n) time. Even though the complete Euclidean graph has size Θ(n), it can be represented in Θ(n) space: It is clearly sufficient to only store the points of S, because the weight of any edge can be computed in O(1) time. This leads to the question whether distance problems can be solved in subquadratic time, possibly at the cost of obtaining an approximate solution. For many of these problems, subquadratic algorithms have indeed been designed; see for example the books by Preparata and Shamos [21] and de Berg et al. [11], and the survey papers by Bern and Eppstein [5], Eppstein [12], and