poj2976 Dropping tests 【01分数规划】
来源:互联网 发布:c语言中float取值范围 编辑:程序博客网 时间:2024/06/05 03:53
链接:http://poj.org/problem?id=2976
题意:给你n个a和b,让你求删掉其中的k对使得 sigma(a[i])/sigma(b[i])最大。
分析:01分数规划第一题,看这篇可以有个大概的了解。关键点在于不容易求一个值,但是验证某个值可行很容易。
代码:
#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<string>#include<vector>#include<queue>#include<cmath>#include<stack>#include<set>#include<map>#define INF 0x3f3f3f3f#define Mn 1010#define Mm 2000005#define mod 1000000007#define CLR(a,b) memset((a),(b),sizeof((a)))#define CLRS(a,b,Size) memset((a),(b),sizeof((a[0]))*(Size+1))#define CPY(a,b) memcpy ((a), (b), sizeof((a)))#pragma comment(linker, "/STACK:102400000,102400000")#define ul u<<1#define ur (u<<1)|1#define eps 1e-5using namespace std;typedef long long ll;double a[Mn],b[Mn],d[Mn];int n,m;bool check(double x) { double sum=0; for(int i=0;i<n;i++) d[i]=a[i]-x*b[i]; sort(d,d+n); for(int i=m;i<n;i++) sum+=d[i]; if(sum>0) return true; else return false;}int main() { while(~scanf("%d%d",&n,&m)) { if(n==0&&m==0) break; for(int i=0;i<n;i++) { scanf("%lf",&a[i]); } for(int i=0;i<n;i++) { scanf("%lf",&b[i]); } double l=0.0,r=1.0; while(l+eps<r) { double mid=(l+r)/2; if(check(mid)) l=mid; else r=mid; } printf("%.0f\n",100*l); } return 0;}
0 0
- poj2976 Dropping tests 【01分数规划】
- [POJ2976]Dropping tests 01分数规划
- [POJ2976]Dropping tests(01分数规划)
- 【POJ2976】Dropping tests 01分数规划
- POJ2976-01分数规划&二分-Dropping tests
- POJ2976 Dropping tests (分数规划)
- [POJ2976][分数规划]Dropping tests[水题]
- 0/1分数规划 【POJ2976】Dropping tests
- 【分数规划】POJ2976[Dropping tests]题解
- poj2976--Dropping tests(0-1分数规划)
- poj2976:dropping tests(0/1分数规划)
- POJ 2976 Dropping tests 01分数规划
- POJ 2976 Dropping tests 01分数规划
- poj-2976-Dropping tests-01分数规划
- POJ 2976 Dropping tests 01分数规划
- 【POJ】2976 Dropping tests 01分数规划
- [poj 2976]Dropping tests 01分数规划
- POJ 2976 Dropping tests (01分数规划)
- C结构体内存对齐
- 【Git/Github学习笔记】Git常用命令(代码冲突)
- 【Spring MVC】<mvc:annotation-driven/>详解
- Jquery 实现表单验证,所有验证通过方可提交
- Java设计模式--组合模式
- poj2976 Dropping tests 【01分数规划】
- Log4j使用总结
- 【Spring】SpringMVC返回json数据的三种方式
- SDUT2482二叉排序树
- Fedora22安装Mysql workbench
- iOS --- 线程安全之semaphore
- hdu 1213
- Struts2自定义拦截器实例—只允许从登录页面进入系统
- C#控制台 关于派生类构造函数的注意事项