POJ2976 Dropping tests 最大化平均值(二分)
来源:互联网 发布:js 浮点数相加 编辑:程序博客网 时间:2024/05/21 12:51
题目链接:http://poj.org/problem?id=2976
题目大意:n场测试,每场测试bi道题,答对其中的ai道,最终的得分为∑ai / ∑bi,现在可以从中除去k场测试的成绩,使得最终的得分最大。
分析:和POJ3111 K Best一样,只需找出最大值即可,这里就不多说了。
实现代码如下:
#include <cstdio>#include <algorithm>using namespace std;const int M=1005;const double inf=999999999.0;struct node{ int a,b; double y; bool operator <(const node &a) const { return y>a.y; }}test[M];int n,k;bool judge(double x){ for(int i=0;i<n;i++) test[i].y=test[i].a-x*test[i].b; sort(test,test+n); double sum=0; for(int i=0;i<k;i++) sum+=test[i].y; return sum>=0;}void solve(){ double left=0,right=inf; for(int i=0;i<100;i++) { double mid=(left+right)/2; if(judge(mid)) left=mid; else right=mid; } printf("%d\n",(int)(left*100+0.5));}int main(){ while(scanf("%d%d",&n,&k)) { if(n==0&&k==0) break; k=n-k; for(int i=0;i<n;i++) scanf("%d",&test[i].a); for(int i=0;i<n;i++) scanf("%d",&test[i].b); solve(); } return 0;}
0 0
- POJ2976 Dropping tests 最大化平均值(二分)
- POJ2976 Dropping tests (最大化平均值/二分)
- (最大化平均值)poj2976,Dropping tests
- poj2976 Dropping tests(二分法:最大化平均值)
- POJ2976-Dropping tests-最大化平均值
- POJ - 2976 Dropping tests(二分搜索:最大化平均值)
- POJ - 2976 Dropping tests(二分查找,最大化平均值)
- POJ 2976 Dropping tests(二分查找 最大化平均值)
- POJ 2976 Dropping tests 【二分:最大化平均值】
- [二分]poj2976 Dropping tests
- poj2976 Dropping tests 二分
- POJ2976————Dropping tests(二分法,最大化平均值)
- poj2976 Dropping tests(二分答案)
- POJ 2976 Dropping tests (最大化平均值)
- POJ2976 Dropping tests 二分搜索
- POJ 2976 Dropping tests(二分搜索,最大化平均值)
- Dropping tests(二分查找平均值)
- poj2976(二分,最大值平均化模板)Dropping tests
- 神奇的卷积神经网络(一)
- 【微信插件】P3微信插件测试使用步骤
- MFC控件完全重绘从CWnd开始
- function作为parameter来使用
- 在word中显示漂亮的代码
- POJ2976 Dropping tests 最大化平均值(二分)
- 信息学奥林匹克竞赛-打印图形
- gdb faq: how to set/cancel a break
- 各种常用的插入排序(直接,折半,希尔)
- jQuery MiniUI开发系列之:创建组件对象
- vim gdb misc
- Mac下C++编译时报错“Undefined symbols for architecture x86_64”
- ActiveAdmin 自定义表单
- Android_02_表格布局