楼主: mayoku
12115 104

[其它] 请教一个数学问题 悬赏 [推广有奖]

41
controlpane1 在职认证  发表于 2010-4-12 01:40:40
2.jpg

42
controlpane1 在职认证  发表于 2010-4-12 02:29:18
做了个实现7楼算法的excel,打开文件后按F9可以看具体步骤。

Book1.xls (16.5 KB)

43
kudosiyin 发表于 2010-4-12 05:45:58
36# nepter

不好意思昨天没考虑全,不过你的答案显然是最麻烦的。修正算法之后是

1)先给ai序列排序,从小到大,得到新数列ci

2)bi的取值取决于ci,先构造一个中间数列di,将小于2b/n的ci对应的di赋值(设有k个ci小于2b/n,它们的总值是x,k≤n)

3)di值为[(b+x)/(k+1)-ci],其余di为0。[]为取整操作。

4)计算di总值,若总值≥b,则此时应将di均匀减去这个差值

5)若总值≤b,则di均匀加上这个差值

44
kudosiyin 发表于 2010-4-12 05:47:58
不过,支持29楼,直接可以给出Excel的算法

45
kudosiyin 发表于 2010-4-12 06:21:25
我说明一下我的算法的思想
假设排序后的ci类似于如下的分布
未命名.JPG

那我要做的,就是把b在那个插入点插入,而尽量将小于那个插入点的值“填满”(即让它们尽量接近插入点的值)。这个插入点的取法,也就是(x+b)/(k+1)
这是考虑到所有的值都是自然数,所以将小的值加大就是减小标准差的最快方式,相信这点大家公认了

46
wanggc023 发表于 2010-4-12 08:44:20
ai ,hao xiang youdian nan a

47
nepter 发表于 2010-4-12 08:55:30
40# controlpane1

被版大打败了。。。07装了很久addon一直没装,都把这忘了。。。

43# kudosiyin

没明白我意思啊,思路对的,但那个2b/n就是错的啦

48
ldyanbo 发表于 2010-4-12 09:00:13
可用遗传算法求解!

49
frank20 在职认证  发表于 2010-4-12 09:02:03
19楼我有点怀疑····

50
wg_sweet 在职认证  发表于 2010-4-12 09:03:24
完全没学过,认真学习

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-26 19:06