该款项子集的问题指出:
给定一组整数,是否存在一个总和为零的非空子集?
通常,此问题是NP完全的。我很好奇这个轻微变体的复杂性:
给定一组整数,是否存在大小k和的总和为零的子集?
例如,如果k = 1您可以进行二进制搜索以找到答案O(log n)。如果为k = 2,则可以将其简化为O(n log n)(例如,请参见从总和等于给定数的数组中查找一对元素)。如果为k = 3,则可以执行此操作O(n^2)(例如,请参见在数组中求和最接近给定数字的三个元素)。
是否存在一个已知的界限可以作为函数来解决这个问题k?
出于动机,我在考虑这个问题,如何将一个数组分成两部分,以使这两部分的平均值相等?并尝试确定它是否实际上是NP完整的。答案在于是否存在上述公式。
除非有一般解决方案,否则我对了解的最佳界限会非常感兴趣k=4。
Qyouu
相关分类