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