有N个数分成M组,要求每个组的和之间差为最小
解决方案 »
- 谁能帮我把这段代码调通啊,谢谢了
- InstallShield如何打包中文ADO?
- 求助: 如何获得webbrowser垂直滚动条的宽度及位置?
- 关于MSFlexGrid的问题~~急~~
- 如何获得webbrowser页面中的【全部对象和连接】
- 征集1-100随机排列的最好方法
- 这个sql语句怎么写??
- 使用VB为PDF文档添加标注,有点难度哦!
- 分享: VB6.0接口,转转转 (用VB6.0接口实现INI文件的读取组件) 爽你就顶,虽然没分,但你定有所获
- 怎么利用代码在程序中给DataGrid控件连接数据源?
- 求助 谢谢大家 记录集问题
- 如何得知VSFLEXGRID中某行发生改变,需要UPDATE数据库。。。。
※ 有N个数分成M组,要求每个组的和之间差为最小
是指“与平均值的差值最小”还是“最大和、最小和的差值区间最小”?
例:如果 SUM(N个数) = 40, M = 4,分组后的和如下,哪个符合要求?
{12, 12, 8, 8} {10, 10, 13, 7}※1、任意分组,每组个数不限制
2、分组中最大个数和最小个数差不超过1,也就是平均值取整±1
不是自相矛盾吗?比如 N = 5, M = 2 ,按照规则 2 分组的个数只能是 {3,2} 或 {2,3},而按照规则 1 可以分成 {5,0} 到 {0,5}
1、任意分组,每组个数不限制这个问题是说,每个分组中的数的个数不受限制
“和之间差为最小”是指“最大和、最小和的差值区间最小”2、分组中最大个数和最小个数差不超过1,也就是平均值取整±1
这个问题是说:每个分组中的数的个数是有限制的,如果10个数分三组 ,只能是4个 3个 3个可以说问题2的解法比1要简单。讨论了这么多天,我想大家还是讨论一下问题2吧
maomao123_1981(落下)
//把所有的数的和除以组数得到目标数
//从大到小依次放入组中
//之字形放入这肯定不是最优解我的算法是,先按个数随便放,然后将最大和中的最大数 和 最小和中最小数 交换
循环比较,直到交换后不能产生最优解
但是有个问题:当交换到“最优解”后,有可能存在 最大和中的最小的两个数 和 最小和中最大数 交换后 可以得到一个 “更最优解” 到这步,我基本就卡住了,请大家继续讨论