Modular Subset Sum, Dynamic Strings, and Zero-Sum Sets
Abstract
The modular subset sum problem consists of deciding, given a modulus m, a multiset S of n integers in 0..m-1, and a target integer t, whether there exists a subset of S with elements summing to t m , and to report such a set if it exists. We give a simple O(m m)-time with high probability (w.h.p.) algorithm for the modular subset sum problem. This builds on and improves on a previous O(m 7 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 Erdos-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 n) w.h.p. which improves on an O(n2) algorithm due to Del Lungo, Marini, and Mori (Disc. Math. 09).