zoukankan      html  css  js  c++  java
  • poj2976 Dropping tests 01分数规划

    [sum a_i - x imes sum b_i ]

    等同于

    [sum(a_i-x imes b_i) ]

    #include <algorithm>
    #include <iostream>
    #include <cstdio>
    using namespace std;
    int n, k, uu;
    double a[1005], b[1005], c[1005], l, r;
    bool chk(double x){
    	for(int i=1; i<=n; i++)	c[i] = a[i] - x * b[i];
    	sort(c+1, c+1+n);
    	double sum=0.0;
    	for(int i=n; i>=k+1; i--)	sum += c[i];
    	return sum>0;
    }
    int main(){
    	while(scanf("%d %d", &n, &k)!=EOF && (n || k)){
    		for(int i=1; i<=n; i++){
    			scanf("%d", &uu);
    			a[i] = uu;
    		}
    		for(int i=1; i<=n; i++){
    			scanf("%d", &uu);
    			b[i] = uu;
    		}
    		l = 0.0, r = 1.0;
    		while(r-l>1e-6){
    			double mid=(l+r)/2.0;
    			if(chk(mid))	l = mid;
    			else	r = mid;
    		}
    		printf("%.0f
    ", 100.0*l);
    	}
    	return 0;
    }
    
  • 相关阅读:
    莫队总结
    三、模型层(二)
    二、模型层(一)
    五、web杂项
    一. Django入门
    二、js
    一、html和css
    二十一、正则表达式
    END:小练习、涨知识
    二十、协程
  • 原文地址:https://www.cnblogs.com/poorpool/p/8133864.html
Copyright © 2011-2022 走看看