http://poj.org/problem?id=2976

题目大意:给定n个二元组(a,b),从中取n-k个,使得100*∑a/∑b最大。

01分数规划裸题,设λ是小于等于最优解的,那么λ<=∑a/∑b,先通过移项来得到新的表达法∑a-λ∑b>=0。

就可以二分答案做了。

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
typedef double dl;
const int N=;
const dl eps=1e-;
dl a[N],b[N],t[N];
int n,k;
double solve(dl l,dl r){
while(r-l>eps){
dl mid=(l+r)/;
for(int i=;i<=n;i++)t[i]=a[i]-mid*b[i];
sort(t+,t+n+);
dl sum=;
for(int i=k+;i<=n;i++)sum+=t[i];
if(sum>)l=mid;
else r=mid;
}
return r;
}
int main(){
while(scanf("%d%d",&n,&k)!=EOF&&n+k){
for(int i=;i<=n;i++)scanf("%lf",&a[i]);
for(int i=;i<=n;i++)scanf("%lf",&b[i]);
printf("%.f\n",solve(,)*);
}
return ;
}

最新文章

  1. pycharm激活码,拿走不谢
  2. 关于Microsoft Visual Studio 2010系统自带的数据库
  3. 网上搜的一个shell中 中文设置的一个样例;
  4. Xcode7中你一定要知道的炸裂调试神技(转)
  5. python httpConnection详解
  6. Qt多线程(有详细例子)
  7. windows 环境下搭建django 错误分析总结
  8. 初学T4模板
  9. 每周问题系列 - JavaFX界面没响应,Maven编译自动忽略rt包
  10. Android开发之漫漫长途 XIV——ListView
  11. 原生JS封装时间运动函数
  12. JavaScript夯实基础系列(二):闭包
  13. Web前端 web的学习之路
  14. 迷宫问题 (bfs广度优先搜索记录路径)
  15. Luogu3825 NOI2017 游戏 2-SAT
  16. Ubuntu无法进入Windows的NTFS分区
  17. Ajax csrf跨站请求伪造
  18. [JS] Topic - Object.create vs new
  19. linux测试环境维护之磁盘空间维护
  20. nw.js node-webkit系列(15)如何使用内部模块和第三方模块进行开发

热门文章

  1. 你想找的Python资料这里全都有!没有你找不到!史上最全资料合集
  2. Manual install on Windows 7 with Apache and MySQL
  3. hdu2544最短路(floyd基础)
  4. 第三模块:面向对象&amp;网络编程基础 第1章 面向对象
  5. vue watch监控对象
  6. 【json提取器】- 提取数据的方法
  7. 交换学生 (Foreign Exchange,UVa10763)
  8. [转载] RCNN/SPP/FAST RCNN/FASTER RCNN/YOLO/SSD算法简介
  9. STM32串口通信UART使用
  10. ServiceStack.Ormlit 事务