poj2976
2015-12-12 17:58
337 查看
链接:点击打开链接
题意;有n场考试,给出每场答对的题数a和这场一共有几道题b,求去掉k场考试后,公式
.的最大值
代码:
题意;有n场考试,给出每场答对的题数a和这场一共有几道题b,求去掉k场考试后,公式
.的最大值
代码:
#include <cstdio> #include <iostream> #include <algorithm> using namespace std; const int INF=0x3f3f3f3f; double a[1005],b[1005],v[1005]; int n,k; bool judge(double d){ //二分最大化平均值 int i; double sum; sum=0; for(i=0;i<n;i++) v[i]=a[i]-d*b[i]; //将a[i]/b[i]>=d转换为a[i]-d*b[i]>=0 sort(v,v+n); for(i=0;i<n-k;i++) //选n-k个最大的 sum+=v[n-i-1]; return sum>=0; } int main(){ int i,j; double l,r,mid,ans; while(scanf("%d%d",&n,&k)!=EOF&&(n||k)){ for(i=0;i<n;i++) scanf("%lf",&a[i]); for(i=0;i<n;i++) scanf("%lf",&b[i]); l=0,r=1; for(i=0;i<100;i++){ mid=(l+r)/2; if(judge(mid)){ // ans=mid; //不能加上这句,可能是因为精度不够使得 l=mid; //ans的值和l并不相等 } else r=mid; } printf("%.0lf\n",100*l); } return 0; }
相关文章推荐
- 可扩展机器学习——梯度下降(Gradient Descent)
- 转载-如何写代码-编程智慧
- Implement Queue using Stacks
- 程序员2004下载地址
- hadoop之JobTracker,TaskTracker,hadoop调度器
- UVALive 6849 Landmine Cleaner(贪心、扫雷经典游戏)
- iOS应用新版上线流程
- μCOS-II系统之时间管理函数OSTimeDlyResume()
- 介绍并提高app中WebView的性能
- libvirt获取虚拟机的状态
- Qt标准对话框之QMessageBox
- c语言学习笔记之全局变量与局部变量
- 进程的监听
- windows7的host下,VMware中Ubuntu联网设置方法
- μCOS-II系统之时间管理函数OSTimeDly()
- 在Eclipse中创建Maven多模块工程的例子
- 找出两个字符串的最长相同字符串及指定字符串频率
- Error: Error parsing D:\adt-bundle-windows-x86_64\sdk\system-images\android-23\android-wear\armeabi-
- 欢迎使用CSDN-markdown编辑器
- maven将镜像站点改为中国开源镜像点