Tag: np

创build学校时间表的algorithm

我一直在想,是否有已知的创build学校时间表algorithm的解决scheme。 基本上,这是关于为给定的class主题 – 教师协会优化“小时分散”(在教师和class级的情况下)。 我们可以假设我们有一组课程,课程主题和教师相互关联,并且时间表应该在上午8点到下午4点之间。 我想这可能没有准确的algorithm,但也许有人知道一个很好的近似或暗示开发它。

具有固定子集大小的Sum子集

求和子集问题指出: 给定一组整数,是否有一个总和为零的非空子集? 这个问题通常是NP完全的。 我很好奇,如果这个轻微的变种的复杂性是已知的: 给定一组整数,是否有一个总和为零的大小为k的子集? 例如,如果k = 1 ,则可以执行二进制search以在O(log n)find答案。 如果k = 2 ,那么你可以把它归结为O(n log n) (例如参见从一个数组中找出一对元素,其和等于一个给定的数字 )。 如果k = 3 ,那么你可以做O(n^2) (例如参见在一个数组中find三个元素的总和最接近给定的数字 )。 作为k一个函数,是否有一个可以放在这个问题上的已知边界? 作为动机,我正在考虑这个问题。 你如何将一个数组分成两部分,这两部分的平均数是相等的? 并试图确定它是否实际上是NP完整的。 答案在于是否有如上所述的公式。 除了一个通用的解决scheme,我会非常有兴趣知道k=4的最优界限。