POJ-2976 Dropping tests
2015-12-30 16:36
411 查看
题意:n场考试,有bi个题,对了ai个题。去掉k场考试,前平均对的最大值。
思路:c(x)平均值为x是否满足。可以转化为 a[i]-x*b[i],排序后求和,最后累加,看是否大于等于0.
精度感人的题目。
WR(不知道哪里错了)
别人家的AC代码:
思路:c(x)平均值为x是否满足。可以转化为 a[i]-x*b[i],排序后求和,最后累加,看是否大于等于0.
精度感人的题目。
WR(不知道哪里错了)
#include <iostream> #include <map> #include <algorithm> #include <cstdio> #include <cstring> #include <cstdlib> #include <vector> #include <queue> #include <stack> #include <functional> #include <set> #include<sstream> #include <cmath> using namespace std; #define pb push_back #define PB pop_back #define bk back() #define fs first #define se second #define INF 1e9*2+10 #define sq(x) (x)*(x) #define eps (1e-7) #define clr(x) memset((x),0,sizeof (x)) #define cp(a,b) memcpy((a),(b),sizeof (b)) const int maxn=1010; int n,k; double a[maxn],b[maxn]; bool C(double m) { double c[maxn]; for(int i=0;i<n;i++) c[i]=a[i]-m*b[i]; sort(c,c+n); double sum=0; for(int i=n-1;i>=k;i--) sum+=c[i]; return sum>0; } int main() { while(cin>>n>>k&&n&&k) { for(int i=0;i<n;i++) cin>>a[i]; for(int i=0;i<n;i++) cin>>b[i]; double left,right,mid; left=0.0; right=1.0; while(right-left>eps) { mid=(left+right)/2; if(C(mid)) left=mid; else right=mid; } printf("%.0f\n",left*100); } return 0; }
别人家的AC代码:
#include <iostream> #include <string> #include <cstdio> #include <cstring> #include <queue> #include <algorithm> using namespace std; const int maxn=1002; const double eps=1e-7; int n,k; double a[maxn]; double b[maxn]; int main() { while(cin>>n>>k) { if(n==0&&k==0)break; for(int i=0;i<n;i++) scanf("%lf",&a[i]); for(int j=0;j<n;j++) scanf("%lf",&b[j]); double L=0.0; double R=1.0; double mid; double t[1004]; while(R-L>eps) { mid=(R+L)*1.0/2; for(int i = 0; i < n; i++) t[i] = a[i] - mid * b[i]; sort(t, t + n); double sum = 0; for(int i = k; i < n; i++) sum += t[i]; if(sum>0) L=mid; else R=mid; } printf("%.0f\n",mid*100); } return 0; }
相关文章推荐
- 初探CentOS搭建SVN服务器
- tomcat7监听端口 改为 80 linux Debian
- Style Scope Agile Edition―免费版商业智能产品
- AOP(2)
- Linux下安装Tomcat7
- opencv入门02(visual studio2010)--20151230
- linux下用ctrl+r快速搜索history命令
- Kafka 学习 -- Topic的创建
- nginx proxy_next_upstream导致的一个重复提交错误
- solr发布到tomcat下
- Linux命令之stty - 显示和修改终端行设置
- 在Nginx服务器中配置针对TCP的负载均衡的方法
- linux命令行编辑快捷键
- linux中grep命令
- 将Opencv中的图像通过动态链接库传递给Labview
- Linux下PHP扩展编译的通用方法
- CentOS下的SVN服务器搭建过程以及分析
- OpenGl中的Nurbs B样条曲面绘制
- centos6.7-keepalived-DNS-ntp一主一从服务器端配置
- [原创]测试架构师是做什么的?