链接:https://www.nowcoder.com/acm/contest/143/A
一个人有n个成绩,然后现在他可以删掉其中至多k个,使得目标方程$\frac{\sum[s[i]c[i]}{\sum s[i]}$的值最大,问这个值可以是多少。
这题和POJ2976是很类似的,是用01分数规划可以解决的问题。01分数规划可以看做是一种思想,可以用二分查找实现。针对这一道题,我们希望让目标方程尽可能大,于是可以假设:
$$
\frac{\sum[s[i]c[i]}{\sum s[i]} \geq L
$$
移项后得:
$$
\sum{s_ic_i-L×s_i}\geq0
$$
于是我们可以二分$L$,对该式中的$s_ic_i-L×s_i$进行计算并排序,删掉最小的k个后,查看是否满足题意。当收敛时,即$L$近似为式子的最大值。
1 |
|