scispace - formally typeset
Open Access

Modular Subset Sum, Dynamic Strings, and Zero-Sum Sets.

Jean Cardinal, +1 more
- pp 45-56
TLDR
In this article, the modular subset sum problem is solved in O(m \log m) time with high probability (w.h.p.) using the Data Dependent Tree (DDT).
Abstract
The modular subset sum problem consists of deciding, given a modulus $m$, a multiset $S$ of $n$ integers in $0..m$, and a target integer $t$, whether there exists a subset of $S$ with elements summing to $t \pmod{m}$, and to report such a set if it exists. We give a simple $O(m \log m)$-time with high probability (w.h.p.) algorithm for the modular subset sum problem. This builds on and improves on a previous $\tilde{O}(m)$ w.h.p. algorithm from Axiotis, Backurs, Jin, Tzamos, and Wu (SODA 19). Our method utilizes the ADT of the dynamic strings structure of Gawrychowski et. al (SODA 18). However, as this structure is rather complicated we present a much simpler alternative which we call the Data Dependent Tree. As an application, we consider the computational version of a fundamental theorem in zero-sum Ramsey theory. The Erdős-Ginzburg-Ziv Theorem states that a multiset of $2n - 1$ integers always contains a subset of cardinality exactly $n$ whose values sum to a multiple of $n$. We give an algorithm for finding such a subset in time $O(n \log n)$ w.h.p. which improves on an $O(n^2)$ algorithm due to Del Lungo, Marini, and Mori (Disc. Math. 09).

read more

Citations
More filters
Posted Content

Fast $n$-fold Boolean Convolution via Additive Combinatorics

TL;DR: A deterministic or randomized o(nk) algorithm running in almost linear time with respect to the input plus output size k is presented, and a new deterministic almost linear output-sensitive algorithm for non-negative sparse convolution is presented.
Posted Content

Classical and quantum dynamic programming for Subset-Sum and variants.

TL;DR: In this paper, a dynamic programming data structure with applications to Subset-Sum and a number of variants, including Equal-Sums (where one seeks two disjoint subsets with the same sum), 2-subset-sum (a relaxed version of Sub-Sum where each item in the input set can be used twice in the summation), and shifted-sub-sum, a generalization of both of these variants, where one seek two disjun subsets whose sums differ by some specified value.
Related Papers (5)