A Faster Pseudopolynomial Time Algorithm for Subset Sum

Proceedings of the Twenty-Eighth Annual ACM-SIAM Symposium on Discrete Algorithms(2017)

引用 0|浏览0
暂无评分
摘要
Given a multiset $S$ of $n$ positive integers and a target integer $t$, the subset sum problem is to decide if there is a subset of $S$ that sums up to $t$. We present a new divide-and-conquer algorithm that computes all the realizable subset sums up to an integer $u$ in $\widetilde{O}\!\left(\min\{\sqrt{n}u,u^{4/3},\sigma\}\right)$, where $\sigma$ is the sum of all elements in $S$ and $\widetilde{O}$ hides polylogarithmic factors. This result improves upon the standard dynamic programming algorithm that runs in $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 $\widetilde{O}\!\left(\min\{\sqrt{n}m,m^{5/4}\}\right)$ time, where $m$ is the order of the group.
更多
查看译文
关键词
pseudopolynomial time algorithm,subset sum
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要