标签: algorithm recursion sum dynamic-programming
我一直在研究动态编程问题。假设我们有一些给定的数字N(在这种情况下为[1,3,4]),可以将它们相加多少种方法得出5。
现在,为了对递归使用动态编程,让我们假设DP是写S的方式的数目,它们是1、3和4的总和。
然后,基本情况为DP0 = DP1 = DP2 = 1,DP3 = 2。
现在我不明白的是为什么这里的DP0 = 1?假设我们只有[1,3,4],就不可能将它们相加在一起得出0的结果,但是我们说DP0 = 1不应等于DP0 = 0,因为存在1种0方式,3,4可以总计为0。