01分数规划
什么是01分数规划?
分数规划用来求一个分式的极值。
给出ai和bi,求一组wi ∈ {0,1},最小化或最大化
∑i=1nbi×wi∑i=1nai×wi
另一种描述:每种物品有两个权值a和b,选出若干个物品使得∑b∑a 最大/最小。
在图论问题(求负环、最小生成树和最短路)中类似于∑b∑a这样形式的题,称为01分数规划
有什么用?
做图论题会用到
怎么用?
二分
例如 观光奶牛 这道题
判断图中是否存在环C,使得∑b∑a>mid
∑b∑a>mid⇔∑a>mid×∑b⇔∑a−mid×∑b>0
所以公式可以转换为:∑(ai−mid×bi)>0)⇔图中是否存在正环
01分数规划思路
1 2 3
| 1. 二分出一个常值 2. 整理不等式,重新定义点权/边权 3. 做图论算法
|
参考文献:
OI Wiki分数规划