POJ-2976Dropping tests
来源:互联网 发布:最新网络流行歌曲 编辑:程序博客网 时间:2024/06/06 01:10
题意:n场考试,有bi个题,对了ai个题。去掉k场考试,前平均对的最大值。
思路:c(x)平均值为x是否满足。可以转化为 a[i]-x*b[i],排序后求和,最后累加,看是否大于等于0.
精度感人的题目。
别人家的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;}
0 0
- poj 2976 Dropping tests
- POJ 2976 Dropping tests
- POJ 2976 Dropping tests
- poj 2976-Dropping tests
- POJ 2976 Dropping tests
- POJ 2976 Dropping tests
- POJ-2976-Dropping tests
- poj 2976 Dropping tests
- POJ 2976 Dropping tests
- Poj 2976 Dropping tests
- POJ-2976Dropping tests
- POJ 2976 Dropping tests
- POJ 2976 Dropping tests
- POJ 2976 Dropping tests
- Dropping tests - POJ 2976 二分
- poj 2976 Dropping tests,二分
- POJ 2976 Dropping tests 01分数规划
- POJ 2976 Dropping tests 01分数规划
- Java 1.7 语法新特性
- Wireshark抓取RTP包,还原语音
- 063 - Unique Paths II
- AngularJS基础——工具方法
- 希望能结识更多热爱Java的小伙伴
- POJ-2976Dropping tests
- android NDK环境搭建及练习
- 研究-Buffered IO和Direct IO
- android捕获ListView中每个item点击事件
- MySQL数据库性能优化的关键参数
- 02_02_Linux操作系统及常用命令
- linux发行版本配置VPN登录华大校网
- Android双击返回键退出Activity的两种方法
- 一个android文本比对APP的实现(三)-设计模式在文件选择模块中的运用