English

A Faster Pseudopolynomial Time Algorithm for Subset Sum

Data Structures and Algorithms 2016-12-13 v3

Abstract

Given a multiset SS of nn positive integers and a target integer tt, the subset sum problem is to decide if there is a subset of SS that sums up to tt. We present a new divide-and-conquer algorithm that computes all the realizable subset sums up to an integer uu in O~ ⁣(min{nu,u4/3,σ})\widetilde{O}\!\left(\min\{\sqrt{n}u,u^{4/3},\sigma\}\right), where σ\sigma is the sum of all elements in SS and O~\widetilde{O} hides polylogarithmic factors. This result improves upon the standard dynamic programming algorithm that runs in O(nu)O(nu) time. To the best of our knowledge, the new algorithm is the fastest general algorithm for this problem. We also present a modified algorithm for cyclic groups, which computes all the realizable subset sums within the group in O~ ⁣(min{nm,m5/4})\widetilde{O}\!\left(\min\{\sqrt{n}m,m^{5/4}\}\right) time, where mm is the order of the group.

Keywords

Cite

@article{arxiv.1507.02318,
  title  = {A Faster Pseudopolynomial Time Algorithm for Subset Sum},
  author = {Konstantinos Koiliaris and Chao Xu},
  journal= {arXiv preprint arXiv:1507.02318},
  year   = {2016}
}

Comments

Fixed Lemma 3.3

R2 v1 2026-06-22T10:08:21.913Z