Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.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_Subset - Fatal编程技术网

Algorithm 减少

Algorithm 减少,algorithm,subset,Algorithm,Subset,问题就在这里。假设我们有一大组N个元素。我们还有一个由M个小元素集组成的大列表,这些小元素集可以与它们相交,这意味着它们可以有许多相同的元素:SE(1->M)。 现在我们的目标是找到给定n个元素(其中n (6,10,12), (1,3,7,8), (4,5,7,9), (2,4,6,8), (1,2,3,4), (3,5,9,12), (1,2,3,10,12) 总大小计数是=4*5+3+5=28,所以我们的每个子集大小应该小于9 因此,所需子集的桶数=28/9=4 现在取4个桶,开始插入小集

问题就在这里。假设我们有一大组N个元素。我们还有一个由M个小元素集组成的大列表,这些小元素集可以与它们相交,这意味着它们可以有许多相同的元素:SE(1->M)。 现在我们的目标是找到给定n个元素(其中n 例如:

(1 2 3 4 5 6 7 8 9 10 11 12) = big set with N = 12

(1 3 7 8)
(1 2 3 10 12)
(4 5 7 9)
(6 10 12)
(3 5 9 12)
(2 4 6 8)
(1 2 3 4)
假设集合的总和不能超过9个元素(

那么,一种解决办法是:

subset1
(1   3   7 8 )
(1 2 3         10 12)
(    3 5     9    12)
subset 2
(      4 5   7   9)
(          6       10 12)
(  2   4   6   8)
(1 2 3 4)

谁能给我一些提示?

我想到的一个简单的或者说蛮力的方法是,根据小集合的大小对它们进行排序,所以现在我们的顺序看起来像这样->

(6,10,12), (1,3,7,8), (4,5,7,9), (2,4,6,8), (1,2,3,4), (3,5,9,12), (1,2,3,10,12)
总大小计数是=4*5+3+5=28,所以我们的每个子集大小应该小于9

因此,所需子集的桶数=28/9=4

现在取4个桶,开始插入小集合,从i=0到i=length,其中length=小集合的数量


希望这有帮助!

你有实际问题吗?如果你想问一般性的提示,我会说这个问题太广泛了。这个问题很不清楚。找到最大数量的子集以使它们的并集大小合适吗?让我们用真实的问题来解决它。好的。让我们用真实的问题来解决它。我有很多关于m m客户机,订购m个对象,这些对象需要K个元素由一台机器生产。对象的每个元素都是从一大组N个元素中提取的,但机器一次设置只能同时管理“N”个元素(其中N