社区
数据结构与算法
帖子详情
向各位大侠请教把一个数组分割成几份的算法
36387893
2009-09-12 04:33:58
有一个n元的整形数组,要把它分成m份且每份数值之和大致相等。
比如a[6] = {1,2,7,4,5,3},分成3份则为{1,7}{2,5}{3,4}
现在能想到的就是用贪心算法。先对数组元素排序(从大到小),然后依次把匀速按序放到元素之和最小的那一份里,这样得出来可以基本满足条件。
请问有什么比较好的算法吗?请各位多多指教
...全文
394
13
打赏
收藏
向各位大侠请教把一个数组分割成几份的算法
有一个n元的整形数组,要把它分成m份且每份数值之和大致相等。 比如a[6] = {1,2,7,4,5,3},分成3份则为{1,7}{2,5}{3,4} 现在能想到的就是用贪心算法。先对数组元素排序(从大到小),然后依次把匀速按序放到元素之和最小的那一份里,这样得出来可以基本满足条件。 请问有什么比较好的算法吗?请各位多多指教
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tanwan
2009-09-15
打赏
举报
回复
max{sum(0,k)+sum(k+1,n)}
绿色夹克衫
2009-09-15
打赏
举报
回复
求最优是NP级的问题,用贪心求个近似就可以了!
jtacm
2009-09-14
打赏
举报
回复
LS的同志们说说怎么用DP做M=2得到情况,好吗?
PeacefulBY
2009-09-14
打赏
举报
回复
好像可以用最优化方法解决,先Mark下
wuyi8808
2009-09-14
打赏
举报
回复
比较困难,可能没有多少改进余地了。
黄舒颖 咸丫蛋
2009-09-14
打赏
举报
回复
觉得这个算法已经很不错了。
DP 难。
[Quote=引用楼主 36387893 的回复:]
有一个n元的整形数组,要把它分成m份且每份数值之和大致相等。
比如a[6] = {1,2,7,4,5,3},分成3份则为{1,7}{2,5}{3,4}
现在能想到的就是用贪心算法。先对数组元素排序(从大到小),然后依次把匀速按序放到元素之和最小的那一份里,这样得出来可以基本满足条件。
请问有什么比较好的算法吗?请各位多多指教
[/Quote]
PeacefulBY
2009-09-14
打赏
举报
回复
[Quote=引用 6 楼 ccc_moriya 的回复:]
引用 2 楼 tanwan 的回复:
之前有dp题是把一列数组分成2份转化为差值最小的,现在大于2的话我也关注下看看,也是用DP做的...
什麼是DP??
[/Quote]
动态规划
ccc_moriya
2009-09-14
打赏
举报
回复
[Quote=引用 2 楼 tanwan 的回复:]
之前有dp题是把一列数组分成2份转化为差值最小的,现在大于2的话我也关注下看看,也是用DP做的...
[/Quote]
什麼是DP??
36387893
2009-09-14
打赏
举报
回复
顶一下
tanwan
2009-09-12
打赏
举报
回复
[Quote=引用 3 楼 36387893 的回复:]
引用 2 楼 tanwan 的回复:
之前有dp题是把一列数组分成2份转化为差值最小的,现在大于2的话我也关注下看看,也是用DP做的...
这题用dp的思路是怎样的呢,请指教
[/Quote]
我也在关注...我想可以用DP...
36387893
2009-09-12
打赏
举报
回复
[Quote=引用 2 楼 tanwan 的回复:]
之前有dp题是把一列数组分成2份转化为差值最小的,现在大于2的话我也关注下看看,也是用DP做的...
[/Quote]
这题用dp的思路是怎样的呢,请指教
tanwan
2009-09-12
打赏
举报
回复
之前有dp题是把一列数组分成2份转化为差值最小的,现在大于2的话我也关注下看看,也是用DP做的...
acdbxzyw
2009-09-12
打赏
举报
回复
用類似背包窮舉,額,能得到最優解,但是效率比較低。
jstl中定义String
数组
(转载)
本文介绍如何在JSTL中定义并使用String
数组
,包括利用fn函数进行字符串
分割
来构建
数组
,以及通过直接定义整型
数组
并在JSP页面中遍历显示的方法。
python
分割
语音端点检测_如何实现语音端点检测
这篇博客探讨了语音端点检测的实现方法,包括基于Python和MATLAB的解决方案。作者分享了MATLAB代码片段,展示了如何进行幅度归一化和设置参数来检测语音端点,并提到了Python中使用webrtc库进行语音端点检测的可能性。
java hashmap
数组
_java hashmap与
数组
操作问题
这个Java程序从名为'Source'的文件中读取内容,按行
分割
并解析每行的键值对。它使用HashMap存储键值,并在遇到相同键时累加值。如果键已存在于HashMap中,则更新其值;否则,添加新键值对。程序最后打印HashMap的内容。
python利用字典实现
大侠
_【Python基础】10. 字典
本文介绍了Python字典的基本概念、键的特性、创建方式及增删改查操作。字典是键值对的数据结构,键必须唯一且不可变,值则不限。创建字典可以通过直接赋值、使用dict()、二元组列表和zip函数等方式。增删改查包括直接赋值添加、update方法合并、del语句删除、clear方法清空、pop方法删除指定元素等操作。同时,文章还讨论了遍历字典的方法和内置字典函数及方法的使用。
一种图的
算法
——并查集
本文深入浅出地讲解了并查集
算法
的原理与应用,通过生动的例子解释了如何使用并查集解决图的连通性问题,包括查找根节点、路径压缩以及合并操作。
数据结构与算法
33,026
社区成员
35,336
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章