Php 将y元素的x列表合并到每个z元素的cap的算法

Php 将y元素的x列表合并到每个z元素的cap的算法,php,algorithm,math,merge,Php,Algorithm,Math,Merge,基本上,我需要一些适合以下问题的算法: 我有5个列表:10、30、40、40和50个元素 有一个80个元素的上限 我现在想要实现的是: 3个列表:10、80和80个元素 40和40合并为80和30,50合并为80,包含10个元素的列表将作为第三个结果列表 这意味着我想以某种方式合并所有列表,但上限为80个元素,所以我实际上只有我真正需要的列表 这不是排序问题,而是合并问题 不可能将列表拆分,列表中的元素应始终保持在一起 希望你能帮助我,谢谢 这听起来像。。这是一个NP难问题,所以如果没有一些启发

基本上,我需要一些适合以下问题的算法:

我有5个列表:10、30、40、40和50个元素 有一个80个元素的上限 我现在想要实现的是: 3个列表:10、80和80个元素

40和40合并为80和30,50合并为80,包含10个元素的列表将作为第三个结果列表 这意味着我想以某种方式合并所有列表,但上限为80个元素,所以我实际上只有我真正需要的列表

这不是排序问题,而是合并问题 不可能将列表拆分,列表中的元素应始终保持在一起


希望你能帮助我,谢谢

这听起来像。。这是一个NP难问题,所以如果没有一些启发,你就不能很快实现这一点。wikipedia页面上的一些代码可能会对您有所帮助——现在您有了它的名称,也许您可以搜索更多内容。

为了澄清这一点,我们的目标是在合并后尽量减少最终列表的数量,而不必尽可能多地填充到80个?它们之间可能有很强的相关性,但我认为它们的目标略有不同。无论如何,我很想看看这是如何解决的。如果可能的话,它应该使用最少数量的列表将列表填充到80个元素