poj 2976 Dropping tests,二分
2014-08-21 16:30
357 查看
poj 2976 Dropping tests
题意同
poj 3111 (只有一点点区别
)
题意同
poj 3111 (只有一点点区别
)
#include<cstdio> #include<cmath> #include<algorithm> using namespace std; const int maxn = 1000 + 10; int a[maxn], b[maxn]; struct node { double val; bool operator < (const node& rhs) const { return val > rhs.val; } }; node f[maxn]; int n, k; //sigma(ai)/sigma(bi) >= x //-> sigma(ai - x*bi) >= 0 int ok(double x) { for(int i=0; i<n; ++i) { f[i].val = a[i] - x*b[i]; } sort(f, f+n); double sum = 0; for(int i=0; i<k; ++i) { sum += f[i].val; } return sum >= 0; } 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", &a[i]); } for(int i=0; i<n; ++i) { scanf("%d", &b[i]); } double l = 0, r = 1; //for(int i=0; i<50; ++i) { while(r-l>1e-8) { double mid = (l+r)/2; if(ok(mid)) l = mid; else r = mid; } printf("%d\n", (int)(l*100 + 0.5) ); //printf("%.f\n", l*100); 系统默认也是向上取整 } return 0; }
相关文章推荐
- POJ - 2976 Dropping tests(二分查找,最大化平均值)
- [POJ 2976] Dropping tests (二分答案)
- POJ 2976-Dropping tests(01分数规划_二分||Dinkelbach算法)
- poj 2976 Dropping tests (01规划,二分查找)
- POJ 2976 Dropping tests (01分数规划+二分)
- poj_2976 Dropping tests(01分数规划+二分)
- poj 2976 Dropping tests (二分搜索之最大化平均值之01分数规划)
- POJ 2976 Dropping tests【二分 最大化平均值】
- POJ 2976 Dropping tests【分数规划】【二分搜索】
- [POJ 2976] Dropping tests 二分答案+伪贪心规划
- POJ - 2976 Dropping tests(二分 + 01分数规划)
- Dropping tests - POJ 2976 二分
- 【POJ】2976 Dropping tests(二分)
- POJ - 3111 K Best && POJ - 2976 Dropping tests 最大化平均值(二分||牛顿迭代)
- POJ 2976 Dropping tests (经典变形二分)
- Poj 2976 Dropping tests(二分)
- POJ - 2976 Dropping tests 二分 最大化平均值
- POJ 2976 Dropping tests(二分答案)
- POJ 3111 K Best + poj 2976 Dropping tests (二分, 最大化平均值)
- POJ 2976 Dropping tests、3111 K Best (二分搜索)