poj2976(二分,最大值平均化模板)Dropping tests
2017-08-06 21:21
253 查看
/* 浮点数的精度问题是通过多次循环实现的 (n-k)个数,最大化平均值 */ #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int mn=1005; int n,m,a[mn],b[mn]; double y[mn]; bool iswork(double x) { for(int i=0;i<n;++i) y[i]=a[i]-x*b[i]; sort(y,y+n,greater<int>()); double sum=0; for(int i=0;i<m;++i) sum+=y[i]; return sum>=0.0; } void solve() { double l=0,r=1e9; int cnt=100;//100次的循环精度可以达到10^(-30)的精度范围 while(cnt--) { double mid=(l+r)/2; if(iswork(mid)) l=mid; else r=mid; } printf("%.0f\n",l*100);//在做题时printf最好用%f,否则可能出现一些莫名其妙的错误 } int main(){ while(~scanf("%d%d",&n,&m)&&(n||m)) { m=n-m; for(int i=0;i<n;++i) scanf("%d",a+i); for(int i=0;i<n;++i) scanf("%d",b+i); solve(); } return 0; }
相关文章推荐
- POJ2976-01分数规划&二分-Dropping tests
- hdu 1054 Strategic Game(模板) 最大二分匹配,最小点覆盖 匈牙利算法
- F - Dropping tests POJ - 2976(二分)
- KM(带权最大二分匹配) 模板
- 【二分匹配】【匈牙利算法即由增广路求最大匹配模板】
- 求最大二分匹配(模板)
- POJ2976:Dropping tests——题解
- POJ 3041 Asteroids(模板——二分最大匹配(BFS增广))
- poj2976 二分最大平均值
- 【POJ】2976 - Dropping tests 二分->最大化平均值
- hdu 3277(二分+最大流+拆点+离线处理+模板问题...)
- 最大二分匹配 匈牙利算法模板&&POJ 1469 COURSES
- HDU 2444 The Accomodation of Students(最大二分匹配(匈牙利算法)+二分图判断->模板题目)
- Ombrophobic Bovines poj 2391 二分+拆点+最大流sap模板
- poj 2391 二分+最大流 (dinic模板+优化)
- 最大流 & 二分匹配模板
- 最大权二分匹配—KM算法入门 && 模板
- 【二分查找-最大化平均值】POJ2976 - Dropping Test
- POJ2976--Dropping tests
- 最大流,最大权二分匹配,二分匹配算法模板