学习笔记:0/1 分数规划

0/1 分数规划

引入

0/1 分数规划通常是指以下一种类型的问题:

给定两个序列 $a$ 和 $b$,试求一组可行解 $x$ 使得下式最大/最小化:$$ \frac{\sum^n_{i=1}a_i\times x_i}{\sum^n_{i=1}b_i\times x_i} $$ 也就是说,就是给定 $n$ 对正整数 $a_i$,$b_i$,从中选出若干对使得选出的数 $a$ 之和与 $b$ 之和的比最大/最小化。

解法

考虑二分答案。$$ \frac{\sum^n_{i=1}a_i\times x_i}{\sum^n_{i=1}b_i\times x_i}>mid \\ \sum^n_{i=1}a_i\times x_i>mid\times \sum^n_{i=1}b_i\times x_i \\ \sum^n_{i=1}a_i\times x_i-mid\times \sum^n_{i=1}b_i\times x_i>0 \\ \sum^n_{i=1}x_i\times (a_i-mid\times b_i)>0 \\ $$ 简单推式子可知,每一组 $(a_i,b_i)$ 对答案的贡献为 $a_i-mid\times b_i$。

posted @ 2023-09-22 13:51  tsqtsqtsq  阅读(25)  评论(0)    收藏  举报  来源