分数规划模型学习笔记 问题 给定 nnn 个二元组 (ai,bi)(a_i, b_i)(ai,bi) ,从中选出 kkk 个二元组使得 ΣaiΣbi\frac{\Sigma a_i}{\Sigma b_i}ΣbiΣai 尽可能大,求出最小值。 求解 假设 ΣaiΣbi≥x\frac{\Sigma a_i}{\Sigma b_i} \geq x ΣbiΣai≥x 则可以将式子变形为 Σai−x⋅Σbi≥0\Sigma a_i - x \cdot \Sigma b_i \geq 0 Σai−x⋅Σbi≥0 对 xxx 进行二分,将 ai−x⋅bia_i - x \cdot b_iai−x⋅bi 从大到小排序,选出前 kkk 个 ,判断式子是否成立,如果成立则增加 xxx ,不成立则减小 xxx ,直至求出最优解。 文章作者: Ender文章链接: https://www.ender.xin/post/d898379c.html版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Ender's blog!笔记OI分数规划模型 打赏微信和支付宝上一篇k条白边最小生成树问题下一篇树链剖分学习笔记 相关推荐 2020-10-142-SAT 问题学习笔记 2020-06-10BSGS代码 2019-10-17Dijkstra学习笔记 2020-03-24扩展欧几里得算法(ExGCD)代码 2020-10-20二分图匹配问题 2020-03-26快速乘法