ACM模版

0-1分数规划

/*
 *  0-1 分数规划
 *      t1 * x1 + t2 * x2 + ... + tn * xn
 *  r = ---------------------------------
 *      c1 * x1 + c2 * x2 + ... + cn * xn
 *  给定t[1..n], c[1..n], 求x[1..n]使得sigma(xi)=k且r最大(小). 
 *  为了让r最大, 先设计子问题z(r) = (t1 * x1 + .. + tn * xn) - r * (c1 * x1 + .. + cn * xn);
 *  假设r的最优值为R. 则有:
 *  z(r) < 0 当且仅当 r > R;
 *  z(r) = 0 当且仅当 r = R;
 *  z(r) > 0 当且仅当 r < R;
 *  于是可二分求R.
 */

参考

《二分查找》


修正于2017.4.14 注释第六行 c1 * x1