将一组数字分为 k 个子集,使值均匀分布

发布于 2024-12-02 19:51:25 字数 263 浏览 0 评论 0原文

可能的重复:
等k子集算法

假设我有一组数字,我想将这些数字分为k 个子集,使得数字均匀分布。通过均匀分布,我的意思是子集中的值的总和最接近其他子集的其他总和。我们可以实现DP解决这个问题吗?

请建议!

Possible Duplicate:
equal k subsets algorithm

Say I've a set of numbers, I want to divide the numbers into k subsets such that the numbers are evenly distributed. By evenly distributed, I mean the sum of values in the subsets are closest to other sums of other subsets. Can we implement a DP solution to this problem??

Please suggest!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

空城缀染半城烟沙 2024-12-09 19:51:25

我所能提供的只是我最好的尝试,这里是:

在我看来,如果 m 是你的集合的大小,那么 m/k = n;这是每个集合中元素的数量。

现在我假设您正在使用整数,假设我们有一个集合, s:

s ={1,2,3,4,5,6,7,8}

现在这是一个简单的想法,如果您对集合进行排序,那么仓位总和
-Sum(0 和 last-0) = Sum(1,Last-1) = Sum(2,last-2) = Sum(3,last-3)... 等等。

变量为:

  • m = 8
  • k = 2 (仅作为示例)
  • n = 4

所以我们需要 4 组:
s1 = 1,8 = 总和为 9
s2 = 2,7 = 总和为 9
s3 = 3,6 = 总和为 9
s4 = 4,5 = Sum is 9

现在,如果集合大小是奇数和/或 k 是奇数,当然会出现一些棘手的情况,但这些可以使用特殊情况来处理 - 实现最适合您的特定情况的情况目的。

希望这能给你带来正确的推动,或者几乎任何方向的推动。

All I can offer is my best attempt, here goes:

It seems to me that if m is the size of your set, then m/k = n; which is the number of elements in each set.

Now I am assuming you are working with integers, lets say we a set, s:

s ={1,2,3,4,5,6,7,8}

Now this is a simple idea that if you set is sorted then the sum of positions
-Sum(0 and last-0) = Sum(1,Last-1) = Sum(2,last-2) = Sum(3,last-3)... and so forth.

the variables would be:

  • m = 8
  • k = 2 (just for example)
  • n = 4

so we want 4 sets:
s1 = 1,8 = Sum is 9
s2 = 2,7 = Sum is 9
s3 = 3,6 = Sum is 9
s4 = 4,5 = Sum is 9

Now there will of course be some trickiness if the set size is odd and/or if k is odd, but these can be dealt with using special cases- implementing the situation that works best for your specific purpose.

Hope this gives you a push in the right, or pretty much any direction.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文