找回密码
 加入
搜索
楼主: binghc

[效率算法] 数据公正性分配算法Lv1【这题做了我两天两夜,现已达到极限,高手们继续】

 火... [复制链接]
 楼主| 发表于 2011-9-15 15:32:06 | 显示全部楼层
回复 15# kevinch


    你知道这三列数据是怎么计算出来的?

仔细观察,很简单!先对数据进行排列,然后按正余弦函数图模型,分配成三列,这么做每列分配到的数据个数误差最多1,每列求和也比较接近平均值。现在出的这题就是对每列求和的进一步优化,使他们的求和跟接近彼此。
你要是觉得水平移动还不够,垂直移动?垂直移动只会更难,你要是真这么做,你会发现垂直移动是徒劳的
 楼主| 发表于 2011-9-15 15:39:51 | 显示全部楼层
回复 13# netegg


    还是那句话,看问题要联系实际,一楼打了一比喻,重新阅读
发表于 2011-9-15 16:58:35 | 显示全部楼层
回复  kevinch


    你知道这三列数据是怎么计算出来的?

仔细观察,很简单!先对数据进行排列,然 ...
binghc 发表于 2011-9-15 15:32

话别说满,我还没引用规划求解加载宏呢,一直没理解他的算法,不过真的很有效率。
发表于 2011-9-15 19:49:50 | 显示全部楼层
回复 1# binghc

不知道对不对
游客,如果您要查看本帖隐藏内容请回复
 楼主| 发表于 2011-9-15 19:57:41 | 显示全部楼层
回复 19# lixiaolong


    看你代码量就知道,这题比你想象的要复杂得多,不过精神可佳!
 楼主| 发表于 2011-9-16 00:57:46 | 显示全部楼层
回复 15# kevinch


    你也许是对的,我完成了水平算法发现数据互换后,是比原来好,但是如果大多数数据分布呈线性密集状态,但是偏偏有一个数据,比所有其他数据大好几倍,这时如果不垂直互换达不到最佳效果

垂直互换?难上加难!……
发表于 2011-9-16 04:54:12 | 显示全部楼层
本帖最后由 netegg 于 2011-9-16 04:55 编辑

回复 21# binghc

重新看了遍题,也看了你的解释,还是不明白
1     1.1     1.2     
3.6  3.4     3.3
----------------   
4.6  4.5     4.5     (均值)4.53
你指的水平换/垂直换,是怎么个换法
发表于 2011-9-16 11:16:55 | 显示全部楼层
进来看看~~
 楼主| 发表于 2011-9-16 13:07:05 | 显示全部楼层
本帖最后由 binghc 于 2011-9-16 13:30 编辑

回复 22# netegg


    任意两个数字可以互换位置,只要最后每列求和尽可能相等即可
 楼主| 发表于 2011-9-16 13:37:08 | 显示全部楼层
回复 22# netegg


    对这个两行三列的数据,表面上看起来是对题目的简化,但实际上要想看出每列求和是否尽可能相近,还需要相对庞大一点儿的数据才能看得清楚些

你可以看下一楼,上面标着每列求和相对品均值的误差有多少
发表于 2011-9-16 15:27:49 | 显示全部楼层
我是来看目的地EXCEL图片的,EXCEL也能做?
autoit肯定能,但这编程肯定很累
发表于 2011-9-16 15:33:12 | 显示全部楼层
晕,excel中的45678行根本不是水平调换的
 楼主| 发表于 2011-9-16 15:44:30 | 显示全部楼层
 楼主| 发表于 2011-9-16 15:46:14 | 显示全部楼层
回复 27# seniors


      只是把数据放在excel里面,表格嘛,看起来舒服些
发表于 2011-9-16 16:53:17 | 显示全部楼层
回复 1# binghc
厉害啊,误差这么小,厉害!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-15 12:46 , Processed in 0.073844 second(s), 14 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表