Preprocessed 3SUM for Unknown Universes with Subquadratic Space
Abstract
We consider the classic problem: given sets of integers , determine whether there is a tuple satisfying . The Hypothesis, central in fine-grained complexity, states that there does not exist a truly subquadratic time algorithm. Given this long-standing barrier, recent work over the past decade has explored from a data structural perspective. Specifically, in the in preprocessed universes regime, we are tasked with preprocessing sets of size , to create a space-efficient data structure that can quickly answer queries, each of which is a problem of the form , where and . A series of results have achieved preprocessing time, space, and query time improving progressively from [7] to [8] to [22]. Given these series of works improving query time, a natural open question has emerged: can one achieve both truly subquadratic space and truly subquadratic query time for in preprocessed universes?
We resolve this question affirmatively, presenting a tradeoff curve between query and space complexity. Specifically, we present a simple randomized algorithm achieving query time and space complexity. Furthermore, our algorithm has preprocessing time, matching past work. Notably, quadratic preprocessing is likely necessary for our tradeoff as either the preprocessing or the query time must be at least under the Hypothesis.
Keywords and phrases:
Graph Algorithms, Diameter, Distance Oracle, Approximation AlgorithmCategory:
Track A: Algorithms, Complexity and GamesFunding:
Yael Kirkpatrick: Supported by NSF Grant No 2141064.Copyright and License:
Williams; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation Data structures design and analysisEditors:
Sayan Bhattacharya, Danupon Nanongkai, Michael Benedikt, and Gabriele PuppisSeries and Publisher:
Leibniz International Proceedings in Informatics, Schloss Dagstuhl – Leibniz-Zentrum für Informatik
1 Introduction
One of the central problems in fine-grained complexity is : Given three sets of integers, , are there so that ? A classic algorithm solves in time. The fastest known algorithm by Baran, Demaine, Pǎtraşcu [3] runs in time in the word-RAM model. Chan [6] obtained the same running time in the real-RAM model. The Hypothesis from fine-grained complexity postulates that there is no time algorithm for for any . Given this algorithmic barrier, much research has gone into understanding settings in which admits faster algorithms (see e.g., [7, 21, 16, 23, 17, 8, 22]).
In this paper we consider the problem in preprocessed universes, a variant of which was first discussed by Bansal and Williams [2] and attributed to Avrim Blum.
The problem has two variants:
-
in preprocessed universes with known : Given three sets of integers , preprocess them, so that on any query , one can solve on fast.
-
in preprocessed universes with unknown : Given two sets of integers , preprocess them, so that on any query and set of integers , one can solve on fast.
For both variants there are three natural parameters to optimize: (1) the preprocessing time, (2) the space used after preprocessing, (3) the query time.
Note that under the Hypothesis, either the preprocessing time or the query time must be . Hence all prior work has focused on optimizing the query time and space usage, given that the preprocessing time is essentially quadratic. A summary of the prior work is given in Table 1.
| Reference | Query | Space | Unknown |
| [7] | NO | ||
| [8] | NO | ||
| [22] | NO | ||
| [7] | YES | ||
| [8] | YES | ||
| [22] | YES | ||
| This work | |||
| YES |
For the known case, Chan and Lewenstein [7] showed that after preprocessing time111 suppresses factors., the queries can be performed in truly subquadratic time of , while the space usage is also subquadratic, namely . Fischer [13] extended this to the real RAM model. Chan, Vassilevska Williams and Xu [8] improved the query time and space usage to . With quadratic space usage they also obtained improved query time of , and this algorithm also worked for the unknown case for which [7] had achieved query time and quadratic space.
More recently, with a much simpler algorithm, Kasliwal, Polak and Sharma [22] drastically improved the query running time and space usage to for the known case, while keeping the preprocessing time quadratic. For the unknown case, their approach achieves the same query time but uses quadratic space.
Notably, all known quadratic preprocessing and subquadratic query time algorithms for in preprocessed universes in the case of unknown use quadratic space. This naturally raises the following question.
Can one achieve essentially quadratic preprocessing time and truly subquadratic space and query time for in preprocessed universes with unknown ?
More generally, we are interested in the trade-off between space usage and query time for the problem. Our main result is as follows:
Theorem 1.
For any , there exists a randomized algorithm that preprocesses sets of integers with , in time using space, such that upon a query and a set of integers , it solves on in time with high probability222With probability ..
We note that the query time of our algorithm is only guaranteed against an oblivious adversary. While not stated explicitly, this is the case for past works on preprocessed as well.
1.1 Technical Overview
In this paper we combine the techniques of two previously best known results in the field of preprocessed to achieve the first algorithm for preprocessed with unknown using subquadratic space.
1.2 Prior work on Preprocessed 3SUM
First we consider the recent result of Kasliwal, Polak and Sharma [22], where in the case where is known at preprocessing, the authors obtain an algorithm with query time and space. This algorithm is achieved by sampling a random prime and computing the set of triples that are not a solution, , but mod p would look like one, i.e., . Such a triple is considered a false positive and the number of false positives is bounded by .
Given the subsets at query time, the algorithm computes mod in time using the fast Fourier transform (FFT) - for every it computes the number of pairs such that . It then goes over all stored false positives and for each false positive in , subtracts one from the computed number of pairs in that sum to the specified value of mod . This leaves us with the number of pairs that truly sum up to . The algorithm runs in time , and so taking gives the desired query time and space.
In the case where is unknown at preprocessing, the authors use a similar approach of FFT and ruling out false positives. However, in this case, the algorithm stores a data structure that essentially saves the entire sumset , which we will have to avoid in order to achieve subquadratic space.
1.3 Prior work on 3SUM-indexing
The second result we consider is the concurrent works of Golovnev, Guo, Horel, Park and Vaikuntanathan [17] and Kopelowitz and Porat [23], where the authors construct an algorithm for the closely related problem of -indexing. In this variant of the problem, we are given the sets and to preprocess, and at query time we receive a value and are asked if there exists a pair that sums to it. The question in this case regards the optimal tradeoff between query time and space. The key difference between indexing and preprocessed with unknown is that for the former, the query is about any pair of numbers in , whereas in the latter, the query asks to find a solution within a specific subset of and . Thus, -indexing cannot directly solve preprocessed with unknown and some additional tools are needed in order to apply indexing techniques to the problem of preprocessed .
To solve the indexing problem, Golovnev et al. [17] use a hashing argument combined with the cryptographic tool of Fiat-Naor function inversion [12]. This well known result gives a query-time/space tradeoff for the data structures problem of inverting a function, and has found recent algorithmic applications in areas including approximate nearest neighbor search [24], colinearity testing [1], and string indexing methods [5, 4]. Golovnev et al. consider the function defined by . Inverting this function is equivalent to finding a pair in that sums to a given value (modulus ). However, Fiat-Naor function inversion on its own is insufficient for our problem, as it does not allow for restriction of the sources when multiple candidates exist, which we would need in the case when multiple pairs sum up to a given value but some of them are not in . Thus, this technique cannot be directly applied to the more general problem of preprocessed .
1.4 Our techniques
To combine these techniques, we treat the values in the set differently based on their multiplicity, i.e., the number of pairs in that sum to each value. We call a value a heavy hitter if it has multiplicity at least and denote by the set of all heavy hitters. Note that since every value in has more than different pairs that sum to it, we can bound the size of the set by . To handle the heavy hitters, we apply the techniques of [22] and precompute the false positives mod in . Using a standard argument we can show that the number of such false positives can be bounded by .
Next, we handle the non-heavy hitters. We divide our input set into parts . By doing this multiple times, we can guarantee that with high probability, for every value with multiplicity , in at least one of the instances there are no two pairs that sum to and fall into the same part in the partition, i.e., no satisfies . We now preprocess a Fiat-Naor inversion on each independently, adjusting the function slightly so that we can use a version of Fiat-Naor with a better time/space tradeoff than the general case used in [17].
Given the sets at query time, we compute mod using FFT. Now, for any heavy hitter , we rule out the false positives in that sum to mod and are left with the number of pairs that sum to exactly. For every non-heavy hitter , we query each Fiat-Naor instance to find a pair that sums to if such a pair exists. We then check if and if so return the triple . Since each pair that sums to falls in a distinct Fiat-Naor instance, this process will scan all such pairs and find one in if one exists.
The space requirements of our algorithm are dominated by the instances of Fiat-Naor function inversion data structures and the set of false positives for heavy hitters. By balancing the values of we obtain a tradeoff between query time and space, achieving subquadratic space for any query time greater than .
2 Preliminaries
Let . Denote by the base-2 logarithm and by the natural log.
Given two sets of numbers we define their sumset as . We define the multiplicity of an element as the number of pairs in that sum up to it: . We denote by equivalence of integers modulo . We assume the elements of (and the sumset ) are bounded by for some , and thus the elements fit into a constant number of machine words. By shifting the values by a constant we can also assume they are all positive.
2.1 Inequalities
We first recall the following inequalities.
Lemma 2 (Markov’s Inequality).
Let be a non-negative random variable and , then
Theorem 3 (Chernoff bound).
Let , where each is an independent Bernoulli variable where with probability . Let . Then, for all ,
Lemma 4 (Bernoulli’s Inequality).
For and , we have that
2.2 Preprocessed 3SUM Techniques
We present two key tools used in preprocessed below as lemmas. Attributed to folklore, these lemmas were presented explicitly in [22].
2.3 Computing sumsets mod via FFT
Lemma 5 ([22, Lemma ]).
Given sets of at most integers, and a positive integer , we can compute the multiset in time .
We briefly note that computing the multiset of mod can be reduced to polynomial multiplication of two degree polynomials, which can be quickly computed via FFT (see [22] for a detailed proof). Given the ease of sumset computation for a small modulus, a natural obstacle that arises in preprocessed is the occurrence of false positives, i.e., triplets of the form such that but . The following lemma bounds the number of such false positives.
2.4 Bounding false positives mod
Lemma 6 ([22, Lemma 2.2]).
Let be sets of integers bounded by such that , we have . Let be a prime sampled uniformly from , for some positive integer . The expected number of false positives is
The proof (see [22]) proceeds by a counting argument, with the key observation that only of the primes in the range can divide . We observe by Markov’s inequality that at least of the primes in this range must have at most false positives.
2.5 3SUM Indexing Techniques
The main technique used for indexing has been function inversion. Function inversion is a widely studied data structures problem in cryptography [12, 18, 9, 19]. The goal is to give an optimal tradeoff curve between time and space for a data structure inverting a function with pre-processing time . bounds the number of queries to as well as the online computation upon a query. Fiat and Naor [12] present a randomized data structure offering a general tradeoff curve of , which was recently improved [18] to (our algorithm, however, performs function inversion on the regime in which these two curves are equivalent). Below, we describe the more specific tradeoff provided by Fiat-Naor function inversion for functions with bounded in-degree.
2.6 Fiat-Naor Function Inversion [12]
Lemma 7 ([12]).
Given a function , we can construct a data structure, in pre-processing time , with time/space and satisfying the tradeoff , where denotes the probability that for two uniformly sampled . Thus if has maximum in-degree , i.e. for all , , then we can achieve a time/space tradeoff of .
We now prove the following corollary, which exactly describes the regime in which our algorithm performs function inversion. The proof utilizes a hashing argument of [17] as well as the more specific Fiat-Naor tradeoff for bounded in-degree functions.
Corollary 8.
We can perform Fiat-Naor function inversion for any function satisfying , of maximum in-degree, in space and query time , for any . The pre-processing time is .
Proof.
We observe that the domain and co-domain are both of size , and that . Thus we can hash the domain and co-domain to via the technique of [17]. We briefly summarize the hashing argument here (see Section 3 of [17] for a full exposition). In short, if we sample a uniformly random prime from the interval , we can argue that there is a constant probability for any fixed element in the sumset, that does not collide under with any distinct , where we say and collide under if . This follows via a counting argument, as there are at least primes in the range (for sufficiently large , by the prime number theorem), and at most of them divide any over all . Thus, a uniformly random prime from the aforementioned interval will avoid any collisions between and all other with constant probability. Thus we can sample such primes during pre-processing, and check that every avoids collisions under some . This constraint will guarantee no false negatives are reported, and we avoid false positives by checking -sum solutions against the actual original triplet before reporting. We then maintain a Fiat-Naor data structure for each prime , at the cost of a time/space blow up. (See the proof of Theorem 3.3 in [17] for a detailed accounting that primes is sufficient, and see the proof of Lemma 3.2 in [17] for a detailed description of Fiat-Naor function inversion for modulus .) By applying Lemma 7, we can then achieve time/space tradeoff for function inversion, with pre-processing time . The choices and satisfy the equation (where is a free variable).
3 Preprocessed 3SUM for Unknown
We can now prove our main result. As noted in the technical overview, our algorithm handles values differently based on their multiplicity. We describe each part of the algorithm separately. See 1
In fact, our algorithm returns for every “yes” if there exists a pair that sums to and “no” otherwise.
3.1 Heavy Hitters
Let be parameters to be set later. We begin by handling the values of with multiplicity greater than . Define the set of heavy hitters as follows.
Definition 9 (Heavy hitters).
As every element in has pairs in that sum to it, we can bound the size of the set by . We repeat the following algorithm in parallel times in both the preprocessing and query phases.
- Preprocessing:
-
To preprocess the heavy hitters, our algorithm first computes and stores the set . Next, we randomly sample a prime from the range , compute and store the set of false positives in mod :
We store the set as a dictionary indexed by each tuple’s coordinate, so that given a value we can find all triples in constant time per triple.
We can construct in time and using Lemma 6 with , bound the size of by . In total, this preprocessing step stores the sets and , using space .
- Query:
-
Given the sets , compute the multiset mod , using Lemma 5 in time . For every , query all triples . Count the number of triples such that . If this number is smaller than , return “yes” for , otherwise return “no”.
We note that at query time, our algorithm does not read the entire set , but only the false positives such that their value is in ,
For any , if there exists a pair that sums to , then will be greater than the number of triples in that have as their third coordinate with . This is because counts all triples with where , which includes any triples in with first two coordinates from and third coordinate as well as at least one true (non-false-positive) sum . Hence, the algorithm will output “yes” on any such value .
By Lemma 6, we can bound the size of by . By Markov’s inequality, our algorithm can run in time and scan all of with constant probability and so repeating this times will guarantee success with high probability. Thus, the total runtime of this query algorithm is .
3.2 Non-Heavy Hitters
Next we handle the non-heavy hitters. Let be a parameter to be set later. Define . We repeat the following algorithm in parallel times in both the preprocessing and query phases.
- Preprocessing:
-
Construct the sets by assigning each element of to one of the sets uniformly at random. We would like to preprocess a Fiat-Naor function inversion instance on each tuple . However, we would like to claim that defined by has bounded in-degree. To obtain this, compute and define:
To be able to compute , we store and using expected space. As we show in Claim 10, with probability at least , each has in-degree at most .
Now, for every , preprocess a bounded-in-degree Fiat-Naor function inversion data structure on using Corollary 8. This uses query time and space.
Note that since all values of are positive, is an injective function on pairs such that . In total, we store instances of a Fiat-Naor data structure, as well as values of the universe . Thus, this preprocessing step uses expected space.
- Query:
-
Given the sets , perform the following query. For every , query for every using the preprocessed function inversion data structure . If a pair is returned, check if and if so, return “yes” for this . If no such pair is found for any , return “no”.
In total, for every we perform calls to query a Fiat-Naor function inversion data structure for a total query time of .
The following two claims show the correctness of this stage of the algorithm. First we show that the functions do in fact have low in-degree, justifying our use of Corollary 8.
Claim 10.
In each repetition, the functions have in-degree at most with probability at least
Proof.
It suffices to argue that for every , the in-degree of for is at most with high probability.
Fix one and one . Denote by the expected number of pre-images for for . By applying a Chernoff bound, we have that
Bounding further, we obtain . For each , note that the expected number of pre-images for for is less than 1. Hence:
Therefore, taking a union bound over all (at most ) and all (at most ) functions , we have that with probability at least , the functions all have in-degree at most . This allows us to use Corollary 8 and preprocess a Fiat-Naor function inversion data structure for functions with logarithmically bounded in-degree.
Next, we show that this process finds every pair that sums to a value . Thus, if such a pair exists in the algorithm will be able to find it.
Claim 11.
For every such that and , a query to uncovers with probability at least
Proof.
First, we consider a single repetition of the algorithm.
Suppose . There are at most other pairs such that . For each such , the probability that is . Since there are at most such , the probability that all of them are not in is at least by Bernoulli’s inequality.
Since we repeat this experiment times, the probability that at least one of the repetitions outputs is
When given a query , if then the algorithm will check and thus return “yes” with probability . By a union bound, if any such triple exists, such that and , the algorithm will output “yes” with high probability.
3.3 Putting it All Together
Combining the two algorithms above, given two sets we preprocess them to obtain the data structure for the heavy hitters and non-heavy hitters cases. This uses a total space of .
Upon query, given , we perform the two query algorithms described above to handle and separately, for a total query time of .
Setting we get a query time of using space .
The preprocessing time is dominated by constructing , in time, constructing in time, and constructing instances of a Fiat-Naor function inversion data structure each in time . Thus, in total, our algorithm takes preprocessing time.
4 Discussion and Future Work
We presented the first data structure for preprocessed with unknown that has truly subquadratic space and query time (and quadratic preprocessing). We’ll discuss some possible extensions.
4.1 What do we get with optimal function inversion?
The only known lower bounds for function inversion [25, 10, 15] give that the space and query time must satisfy
While a matching upper bound is only known for random permutations [19], it is conceivable that a construction achieving this bound might be possible for arbitrary functions as no higher lower bounds are known.
Using a hypothetical optimal function inversion data structure achieving , just by plugging into our construction, we would obtain for every , a data structure for preprocessed with unknown with
space and query time .
4.2 What tradeoff is desirable?
A brute-force query algorithm would solve on each query without the need for preprocessing. This would achieve space (just store and ) and query time 333One can also shave off polylog factors as in [3].. Interpolating between this and the space- and query- trade-off of [22], one might hope to be able to achieve for every ,
space and query time .
Unfortunately, even with optimal function inversion, our construction doesn’t achieve such a result. Either new ideas are needed, or perhaps there is some limitation to achieving such a tradeoff.
4.3 Possible extensions?
Our approach can be useful for other potential problems with preprocessing, beyond . We give as an example.
In the problem, one is given three -sized sets of binary strings . We want to know whether there exist such that . can be solved in time deterministically and, with randomness, in expected time [11]. It is conjectured (e.g., [20]) that time is necessary.
Analogous to , we can define the preprocessed with unknown problem as: Given , preprocess them so that the following query can be supported efficiently: given and , decide if there exist such that .
We can obtain essentially the same trade-off for as for for this preprocessed version, just by simulating some key steps of the algorithm with primitives.
The first primitive we need to simulate is instance reduction with a small number of false positives. For this was, given some , to efficiently compute (with multiplicities) and also to pick so that the number of false positives is small.
While XORing vectors mod a prime is not defined, Jafargholi and Viola [20] provided an analogous tool for . They defined linear hash functions that take a vector to a vector for some choice . This is essentially achieved by random linear combinations of the vector components. Because of linearity, if , we also have . Jafargholi and Viola [20] showed that the expected number of false positives is . Thus, effectively, we can think of .
For we use the FFT to compute (with multiplicities) in time. For one can use the Walsh-Hadamard transform to compute for all the number of pairs such that , i.e., the number of solutions that is part of. The running time is using the fast folklore recursive algorithm to compute the transform on vectors of length .
The rest of our algorithm (Fiat-Naor and Walsh-Hadamard instead of FFT) can be simulated for exactly as for , and hence we obtain a trade-off of space usage and query time after quadratic time preprocessing, for preprocessed with unknown .
The approach can be used for other problems, provided the problems admit analogues of instance size reduction (like mod ) with bounded false positives and of the FFT for computing for every in the range, the number of solutions in the reduced instance that use .
References
- [1] Boris Aronov, Esther Ezra, Micha Sharir, and Guy Zigdon. Time and space efficient collinearity indexing. Computational Geometry, 110:101963, 2023. doi:10.1016/J.COMGEO.2022.101963.
- [2] Nikhil Bansal and Ryan Williams. Regularity lemmas and combinatorial algorithms. Theory Comput., 8(1):69–94, 2012. doi:10.4086/TOC.2012.V008A004.
- [3] Ilya Baran, Erik D Demaine, and Mihai Pǎtraşcu. Subquadratic algorithms for 3sum. In Workshop on Algorithms and Data Structures, pages 409–421. Springer, 2005.
- [4] Jackson Bibbens, Levi Borevitz, and Samuel McCauley. Space-efficient text indexing with mismatches using function inversion. arXiv preprint arXiv:2604.01307, 2026. doi:10.48550/arXiv.2604.01307.
- [5] Philip Bille, Inge Li Gørtz, Moshe Lewenstein, Solon P Pissis, Eva Rotenberg, and Teresa Anna Steiner. Gapped string indexing in subquadratic space and sublinear query time. In 41st International Symposium on Theoretical Aspects of Computer Science, STACS 2024, pages 1–21. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl Publishing, 2024. doi:10.4230/LIPIcs.STACS.2024.16.
- [6] Timothy M. Chan. More logarithmic-factor speedups for 3sum, (median,+)-convolution, and some geometric 3sum-hard problems. ACM Trans. Algorithms, 16(1), 2019. doi:10.1145/3363541.
- [7] Timothy M. Chan and Moshe Lewenstein. Clustered integer 3sum via additive combinatorics. In Proceedings of the Forty-Seventh Annual ACM on Symposium on Theory of Computing, STOC 2015, Portland, OR, USA, June 14-17, 2015, pages 31–40. ACM, 2015. doi:10.1145/2746539.2746568.
- [8] Timothy M. Chan, Virginia Vassilevska Williams, and Yinzhan Xu. Fredman’s trick meets dominance product: Fine-grained complexity of unweighted apsp, 3sum counting, and more. In Proceedings of the 55th Annual ACM Symposium on Theory of Computing, STOC 2023, Orlando, FL, USA, June 20-23, 2023, pages 419–432. ACM, 2023. doi:10.1145/3564246.3585237.
- [9] Henry Corrigan-Gibbs and Dmitry Kogan. The function-inversion problem: Barriers and opportunities. In Theory of Cryptography Conference, pages 393–421. Springer, 2019. doi:10.1007/978-3-030-36030-6_16.
- [10] Anindya De, Luca Trevisan, and Madhur Tulsiani. Time space tradeoffs for attacks against one-way functions and prgs. In Advances in Cryptology - CRYPTO 2010, 30th Annual Cryptology Conference, Santa Barbara, CA, USA, August 15-19, 2010. Proceedings, volume 6223 of Lecture Notes in Computer Science, pages 649–665. Springer, 2010. doi:10.1007/978-3-642-14623-7_35.
- [11] Martin Dietzfelbinger, Philipp Schlag, and Stefan Walzer. A subquadratic algorithm for 3xor. In 43rd International Symposium on Mathematical Foundations of Computer Science, 2018.
- [12] Amos Fiat and Moni Naor. Rigorous time/space tradeoffs for inverting functions. In Proceedings of the Twenty-Third Annual ACM Symposium on Theory of Computing, STOC ’91, pages 534–541, New York, NY, USA, 1991. Association for Computing Machinery. doi:10.1145/103418.103473.
- [13] Nick Fischer. Sumsets, 3sum, subset sum: Now for real! In Proceedings of the 2025 Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 4520–4546. SIAM, 2025. doi:10.1137/1.9781611978322.155.
- [14] Nick Fischer, Piotr Kaliciak, and Adam Polak. Deterministic 3SUM-Hardness. In 15th Innovations in Theoretical Computer Science Conference (ITCS 2024), volume 287 of Leibniz International Proceedings in Informatics (LIPIcs), pages 49:1–49:24. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2024. doi:10.4230/LIPIcs.ITCS.2024.49.
- [15] Rosario Gennaro, Yael Gertner, Jonathan Katz, and Luca Trevisan. Bounds on the efficiency of generic cryptographic constructions. SIAM J. Comput., 35(1):217–246, 2005. doi:10.1137/S0097539704443276.
- [16] Isaac Goldstein, Tsvi Kopelowitz, Moshe Lewenstein, and Ely Porat. Conditional lower bounds for space/time tradeoffs. In Algorithms and Data Structures - 15th International Symposium, WADS 2017, St. John’s, NL, Canada, July 31 - August 2, 2017, Proceedings, volume 10389 of Lecture Notes in Computer Science, pages 421–436. Springer, 2017. doi:10.1007/978-3-319-62127-2_36.
- [17] Alexander Golovnev, Siyao Guo, Thibaut Horel, Sunoo Park, and Vinod Vaikuntanathan. Data structures meet cryptography: 3sum with preprocessing. In Proceedings of the 52nd Annual ACM SIGACT Symposium on Theory of Computing, STOC 2020, pages 294–307, New York, NY, USA, 2020. Association for Computing Machinery. doi:10.1145/3357713.3384342.
- [18] Alexander Golovnev, Siyao Guo, Spencer Peters, and Noah Stephens-Davidowitz. Revisiting time-space tradeoffs for function inversion. In Annual International Cryptology Conference, pages 453–481. Springer, 2023. doi:10.1007/978-3-031-38545-2_15.
- [19] M. Hellman. A cryptanalytic time-memory trade-off. IEEE Transactions on Information Theory, 26(4):401–406, 1980. doi:10.1109/TIT.1980.1056220.
- [20] Zahra Jafargholi and Emanuele Viola. 3sum, 3xor, triangles. Algorithmica, 74(1):326–343, 2016. doi:10.1007/s00453-014-9946-9.
- [21] Ce Jin and Yinzhan Xu. Removing additive structure in 3sum-based reductions. In Proceedings of the 55th Annual ACM Symposium on Theory of Computing, STOC 2023, Orlando, FL, USA, June 20-23, 2023, pages 405–418. ACM, 2023. doi:10.1145/3564246.3585157.
- [22] Shashwat Kasliwal, Adam Polak, and Pratyush Sharma. 3sum in preprocessed universes: Faster and simpler. In 2025 Symposium on Simplicity in Algorithms (SOSA), pages 158–165. SIAM, 2025. doi:10.1137/1.9781611978315.12.
- [23] Tsvi Kopelowitz and Ely Porat. The strong 3sum-indexing conjecture is false. CoRR, abs/1907.11206, 2019. arXiv:1907.11206.
- [24] Samuel McCauley. Improved Space-Efficient Approximate Nearest Neighbor Search Using Function Inversion. In 32nd Annual European Symposium on Algorithms (ESA 2024), volume 308 of Leibniz International Proceedings in Informatics (LIPIcs), pages 88:1–88:19. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2024. doi:10.4230/LIPIcs.ESA.2024.88.
- [25] Andrew Chi-Chih Yao. Coherent functions and program checkers (extended abstract). In Proceedings of the 22nd Annual ACM Symposium on Theory of Computing, May 13-17, 1990, Baltimore, Maryland, USA, pages 84–94. ACM, 1990. doi:10.1145/100216.100226.
