nepter 发表于 2010-4-11 20:16 
15# mayoku
显然a已知,b固定,那么均值是常数,那什么标准差系数和标准差是等价的。
同意。
不过我也不是很明白你说的那个解法的意思,不好意思……
这里给一下我的理解:
1)因为b总量已知,所以(ai+bi)的总量和平均值也已知,是2b/n
2)既然标准差系数和标准差等价,那就只要求(ai+bi)是最小标准差即可
3)所有值均非负
我给出的算法是:
1)先给ai序列排序,从小到大,得到新数列ci
2)bi的取值取决于ci,先构造一个中间数列di,将小于2b/n的ci对应的di赋值(设有k个ci小于2b/n,k≤n),值为[2b/n-ci],其余di为0。[]为取整操作。
3)计算di总值,若总值≥b,则此时应将di均匀减去这个差值
4)若总值≤b,则di均匀加上这个差值
最终得到nepter说的那个结果