4

给定一组整数 S:

如何将集合分成 k 个部分,以使每个部分的总和最小?也请给出一个C实现。

例子:

S = {1, 2, 3, 4, 5, 6} and k = 3

分区

 S1 = {1, 6}
 S2 = {2, 5}
 S3 = {3, 4}

具有每个分区之和最小的性质。

4

2 回答 2

2

这个页面很好地描述了这个问题,甚至提供了算法的伪代码:

http://www8.cs.umu.se/kurser/TDBAfl/VT06/algorithms/BOOK/BOOK2/NODE45.HTM

于 2011-03-21T22:01:30.487 回答
1

确定给定列表中的最小值,最大值并形成一对。重复直到列表用完。

直觉上它似乎可以确保达到预期的结果,但不确定!

于 2019-06-07T09:55:32.420 回答