帮我看看这个?

fury 2001-05-03 12:53:00
有一组非负数,任意分为N组,每组的和记为a[i](i=1,...,N),现在将每两个a[i]相减,再求其绝对值的和S(也就是说,S=∑|a[i]-a[j]|(i≠j)).请给出一种分法,使S最小.
这算不算动态规划的问题啊?btw,请问前辈,学动态规划之类的东西要看什么书?我不是计算机科班出身的,好可怜喔~~~ :(
...全文
81 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
brave_heart_cp 2001-06-04
  • 打赏
  • 举报
回复
to: fury(风暴) 
好象不对,也许我理解错了;例如:
N=2,一组数为6,5,4,3,2
按你的过程(分号间的3部分依次为第1个集合,第2个集合,未放入)
(;;65432)->(6;;5432)->(6;5;432)->(6;54;32)->(63;54;2)->(632;54;)
实际上(64;532)是最佳划分。

我先想想……

lins1980 2001-06-04
  • 打赏
  • 举报
回复
将数组排序,分成n组,每组各取一个到a[i]中,这样史a[i]-a[j]最小
starfish 2001-06-03
  • 打赏
  • 举报
回复
fury(风暴) ,没弄懂你的算法,能不能说清楚一点?编程本来就是要靠数学么,只有将问题转化成数学问题,才能用计算机解决,当然如果可以手算解决就更好了,计算机只是辅助工具。
fury 2001-06-03
  • 打赏
  • 举报
回复
多谢Arter兄!多谢starfish(海星)!我已经解决了
我的方法是这样的:对这组数从大到小排序,依次将这些数加入到和最小的一组中,可以用逐步调整证明这样分法使S最小.不过...这样完全是用的数学,不象编程哦...
starfish 2001-06-02
  • 打赏
  • 举报
回复
好像不是dp,似乎是一个匹配问题,可以用网络流解决,我还要仔细想想。
如果要看dp的资料,到
http://algorithm.myrice.com/algorithm/technique/dynamic_programming/index.htm
看看
Arter 2001-06-01
  • 打赏
  • 举报
回复
动态规划--《运筹学》等书上有!
这与计算机科班出身无关!完全是数学基础的问题!
不可怜了~~~

33,010

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧