English

Fast and Simple Modular Subset Sum

Data Structures and Algorithms 2020-11-02 v3

Abstract

We revisit the Subset Sum problem over the finite cyclic group Zm\mathbb{Z}_m for some given integer mm. A series of recent works has provided near-optimal algorithms for this problem under the Strong Exponential Time Hypothesis. Koiliaris and Xu (SODA'17, TALG'19) gave a deterministic algorithm running in time O~(m5/4)\tilde{O}(m^{5/4}), which was later improved to O(mlog7m)O(m \log^7 m) randomized time by Axiotis et al. (SODA'19). In this work, we present two simple algorithms for the Modular Subset Sum problem running in near-linear time in mm, both efficiently implementing Bellman's iteration over Zm\mathbb{Z}_m. The first one is a randomized algorithm running in time O(mlog2m)O(m \log^2 m), that is based solely on rolling hash and an elementary data-structure for prefix sums; to illustrate its simplicity we provide a short and efficient implementation of the algorithm in Python. Our second solution is a deterministic algorithm running in time O(m polylog m)O(m\ \mathrm{polylog}\ m), that uses dynamic data structures for string manipulation. We further show that the techniques developed in this work can also lead to simple algorithms for the All Pairs Non-Decreasing Paths Problem (APNP) on undirected graphs, matching the near-optimal running time of O~(n2)\tilde{O}(n^2) provided in the recent work of Duan et al. (ICALP'19).

Keywords

Cite

@article{arxiv.2008.10577,
  title  = {Fast and Simple Modular Subset Sum},
  author = {Kyriakos Axiotis and Arturs Backurs and Karl Bringmann and Ce Jin and Vasileios Nakos and Christos Tzamos and Hongxun Wu},
  journal= {arXiv preprint arXiv:2008.10577},
  year   = {2020}
}

Comments

accepted at SOSA'21

R2 v1 2026-06-23T18:04:13.330Z