星巴克咖啡排队的最小满意度问题的推导



f(i) = ai ( j - 1) + bi(n - j) = ai * j    - ai + bi*n - bi*j = (ai - bi) * j + bi *n - ai = (ai - bi) * j  + (bi - ai) * n + (n - 1) * ai = (ai - bi) * j - (ai - bi) * n + (n - 1) * ai = (ai - bi) * (j - n)  + (n - 1) * ai
= detal * (j - n) + (n - 1) * ai
= detal * (j - C) + (C - 1) * ai
~= detal * j + k * ai
= j * detal[i] + k * ai

sum = f(1) + f(2) + ... + f(n) = detal[1] * 1 + detal[2] * 2 + detal[3] * 3 +... + detal[n] * n            +            k * (a1 + a2 + ... + an)----->【a1 + ... + an为常量】

问题:如何让两个数组对应位置的乘积之和最小?
答:一个按升序,一个按降序排列可最小

所以,detal数组应该按降序排列



#笔试题目#
全部评论

相关推荐

算法冲刺中:kpi面加一,面完完全没动静,感谢信都没有
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务