Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 多路划分的变化_Algorithm_Language Agnostic_Partitioning - Fatal编程技术网

Algorithm 多路划分的变化

Algorithm 多路划分的变化,algorithm,language-agnostic,partitioning,Algorithm,Language Agnostic,Partitioning,我一直在做一些项目,偶然发现了一个问题,它是多路划分问题的一个变体。我们可以将问题陈述如下: 给定一组S的n整数和一组K和,求K的S子集,使第i个子集具有K的第i个元素的和 这并不严格要求对集合进行分区,因为有些元素可能未使用 我天真的尝试是首先遍历S的元素,如果该元素与某些和匹配,则形成单个元素子集。然后我将对S的元素按升序排序,并对元素求和,直到它们达到给定的和(子集和问题)。然而,这常常失败 解决方案不必精确。问题的性质允许每个总和的误差高达10%。然而,它必须相当快。为了提供一些关于输入

我一直在做一些项目,偶然发现了一个问题,它是多路划分问题的一个变体。我们可以将问题陈述如下:

给定一组Sn整数和一组K和,求KS子集,使第i个子集具有K的第i个元素的和

这并不严格要求对集合进行分区,因为有些元素可能未使用

我天真的尝试是首先遍历S的元素,如果该元素与某些和匹配,则形成单个元素子集。然后我将对S的元素按升序排序,并对元素求和,直到它们达到给定的和(子集和问题)。然而,这常常失败

解决方案不必精确。问题的性质允许每个总和的误差高达10%。然而,它必须相当快。为了提供一些关于输入数据的信息,n预计为数百万,而k预计为1到10000。算法应该在10秒的范围内运行(它将在web界面上使用,用户不应该等待超过一两分钟)

如果我没有错的话,这是一个NP完全问题,但我不需要精确解,只需要一个粗略的近似。非常感谢您的帮助,因为我找不到任何接近我需要的东西,除了多路分区问题,它不能在这里使用

谢谢