Algorithm 多路划分的变化
我一直在做一些项目,偶然发现了一个问题,它是多路划分问题的一个变体。我们可以将问题陈述如下: 给定一组S的n整数和一组K和,求K的S子集,使第i个子集具有K的第i个元素的和 这并不严格要求对集合进行分区,因为有些元素可能未使用 我天真的尝试是首先遍历S的元素,如果该元素与某些和匹配,则形成单个元素子集。然后我将对S的元素按升序排序,并对元素求和,直到它们达到给定的和(子集和问题)。然而,这常常失败 解决方案不必精确。问题的性质允许每个总和的误差高达10%。然而,它必须相当快。为了提供一些关于输入数据的信息,n预计为数百万,而k预计为1到10000。算法应该在10秒的范围内运行(它将在web界面上使用,用户不应该等待超过一两分钟) 如果我没有错的话,这是一个NP完全问题,但我不需要精确解,只需要一个粗略的近似。非常感谢您的帮助,因为我找不到任何接近我需要的东西,除了多路分区问题,它不能在这里使用 谢谢Algorithm 多路划分的变化,algorithm,language-agnostic,partitioning,Algorithm,Language Agnostic,Partitioning,我一直在做一些项目,偶然发现了一个问题,它是多路划分问题的一个变体。我们可以将问题陈述如下: 给定一组S的n整数和一组K和,求K的S子集,使第i个子集具有K的第i个元素的和 这并不严格要求对集合进行分区,因为有些元素可能未使用 我天真的尝试是首先遍历S的元素,如果该元素与某些和匹配,则形成单个元素子集。然后我将对S的元素按升序排序,并对元素求和,直到它们达到给定的和(子集和问题)。然而,这常常失败 解决方案不必精确。问题的性质允许每个总和的误差高达10%。然而,它必须相当快。为了提供一些关于输入