摘要: 问题:给定一个正整数m和两个正数数组a[n]和b[n]。对于数组x[n],x[n]中有m个i使得x[i] = 0,其余x[i] = 1,并且令R = segma(a[i]*x[i]) / segma(b[i]*x[i])。求一个满足条件的x[n],使得R的值最大,输出R的最大值。分析:构造函数F(L) = segma(a[i]*x[i]) - L * segma(b[i]*x[i]) = segma((a[i] - L * b[i]) * x[i])。令c[i] = a[i] - L * b[i]。 观察F(L),发现以下性质:1、若L固定,则可以通过一次对c[i]的排序,找到使得F(L).. 阅读全文
posted @ 2013-10-12 18:49 Plumrain 阅读(367) 评论(0) 推荐(0) 编辑