不用给分啦,重在解答哈。不是为了分数啦。~~祝你好运。
0-1背包问题肯定不行啊,因为背包问题中物品的个数没有限制;还有一点,题目没有提到数组的元素是不是正数,我们就不能想当然的认为他一定就是正数,你说对吗? 所以,就不能给分了,不过还是非常感谢你~
are you kidding ? DP也只能到这个复杂度,而且DP是稳定这个复杂度。 我充分相信考官要的就是这个答案(DP肯定也对)。 另外这和回溯法不搭边,请自行学习记忆化搜索。 我写的这个算法对于你上面说的 6 4 10000 ,最多只需要 2^6 次。 这里的 NMm是 当 2^N 大于 该值时。 准确的来说,复杂度应该是 min { NMm, 2^N}; 你先把算法读一遍,再说合理不合理啊。
@ 7楼 :你这是回溯法啊,回溯法我会的,时间复杂度是指数的,太大了,一旦N=10或者以上就很难了;还是谢谢你; @ 8楼:不能套用背包问题,这题我写出了按照背包问题求解思路的解法,但对于大一点的数就不行了,举个例子吧: Input : 6 ( N ) 4 ( m ) 10000 ( M ) 4 500 1999 9021 14 8723 按背包问题思路求解的算法时间复杂度是O ( N * M * m ) ,很明显,从6个数找出4个满足条件的数,用这么大的时间来计算时不合理的
65,209
社区成员
250,519
社区内容
加载中
试试用AI创作助手写篇文章吧