Subset Sum in Near-Linear Pseudopolynomial Time and Polynomial Space
Abstract
Given a multiset A = \a1, …, an\ of positive integers and a target integer t, the Subset Sum problem asks if there is a subset of A that sums to t. Bellman's [1957] classical dynamic programming algorithm runs in O(nt) time and O(t) space. Since then, much work has been done to reduce both the time and space usage. Notably, Bringmann [SODA 2017] uses a two-step color-coding technique to obtain a randomized algorithm that runs in O(n+t) time and O(t) space. Jin, Vyas and Williams [SODA 2021] build upon the algorithm given by Bringmann, using a clever algebraic trick first seen in Kane's Logspace algorithm, to obtain an O(nt) time and O((nt)) space randomized algorithm. A SETH-based lower-bound established by Abboud et al. [SODA 2019] shows that Bringmann's algorithm is likely to have near-optimal time complexity. We build on the techniques used by Jin et al. to obtain a randomized algorithm running in O(n+t) time and O(n2 + n 2 t) space, resulting in an algorithm with near-optimal runtime that also runs in polynomial space. We use a multipoint evaluation-based approach to speed up a bottleneck step in their algorithm. We also provide a simple polynomial space deterministic algorithm that runs in O(n2t) time and O(n 2 t) space.
Turn this paper into a full lesson
ArcXiv compiles a staged curriculum from this paper: 8-12 lessons across beginner → advanced, synthesised section guides, visuals, flashcards, a quiz, exercises, and on-demand deep dives per section. Grounded in the abstract, never invented.