标签:noi play 就会 class 题目 www. 范围 分数规划 line
给定数列\(\{a\},\{b\}\),求解一组数列\(\{x\}\)(\(x_i=\{0,1\}\))
使得\[\frac{\sum_{i=1}^na_i*x_i}{\sum_{i=1}^nb_i*x_i}\]
最大化。
主要是二分答案。
设二分出的值为\(mid\),
则应有\[\frac{\sum_{i=1}^na_i*x_i}{\sum_{i=1}^nb_i*x_i}\geq mid\]
化化式子
\[\sum_{i=1}^na_i*x_i\geq mid*\sum_{i=1}^nb_i*x_i\]
\[\sum_{i=1}^na_i*x_i-mid*\sum_{i=1}^nb_i*x_i\geq0\]
于是只要找出一组\(a_i-mid*b_i\geq0\),就能说明\(ans\geq mid\),缩小了二分范围。
一般都是边权设为\(a_i-mid*b_i\),然后判图中是否有负环,或者网络流看能否跑出正费用。
标签:noi play 就会 class 题目 www. 范围 分数规划 line
原文地址:https://www.cnblogs.com/yanshannan/p/9535955.html