Given a set of n integer-valued coin types and a target value t, the well-known change-making problem asks for the minimum number of coins that sum to t, assuming an unlimited number of coins in each type. In the more general all-targets version of the problem, we want the minimum number of coins summing to j, for every j=0,…,t. We obtain a number of new results on these problems, including (i) an algorithm for the all-targets problem with running time O˜(t4/3) (improving a previous O˜(t3/2)-time algorithm), (ii) a very simple O˜(u2+t)-time algorithm for the all-targets problem, where u denotes the maximum coin value, and (iii) an algorithm for the original (single-target) problem with running time O˜(u) (improving a previous O˜(t)-time algorithm by Chan and He (SOSA'20)). We also describe applications to the (single-capacity) unbounded knapsack problem and the minimum word break problem.
Read full abstract