POJ2976:Dropping tests——题解
2024-10-21 10:06:17
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 ;
}
最新文章
- pycharm激活码,拿走不谢
- 关于Microsoft Visual Studio 2010系统自带的数据库
- 网上搜的一个shell中 中文设置的一个样例;
- Xcode7中你一定要知道的炸裂调试神技(转)
- python httpConnection详解
- Qt多线程(有详细例子)
- windows 环境下搭建django 错误分析总结
- 初学T4模板
- 每周问题系列 - JavaFX界面没响应,Maven编译自动忽略rt包
- Android开发之漫漫长途 XIV——ListView
- 原生JS封装时间运动函数
- JavaScript夯实基础系列(二):闭包
- Web前端 web的学习之路
- 迷宫问题 (bfs广度优先搜索记录路径)
- Luogu3825 NOI2017 游戏 2-SAT
- Ubuntu无法进入Windows的NTFS分区
- Ajax csrf跨站请求伪造
- [JS] Topic - Object.create vs new
- linux测试环境维护之磁盘空间维护
- nw.js node-webkit系列(15)如何使用内部模块和第三方模块进行开发
热门文章
- 你想找的Python资料这里全都有!没有你找不到!史上最全资料合集
- Manual install on Windows 7 with Apache and MySQL
- hdu2544最短路(floyd基础)
- 第三模块:面向对象&;网络编程基础 第1章 面向对象
- vue watch监控对象
- 【json提取器】- 提取数据的方法
- 交换学生 (Foreign Exchange,UVa10763)
- [转载] RCNN/SPP/FAST RCNN/FASTER RCNN/YOLO/SSD算法简介
- STM32串口通信UART使用
- ServiceStack.Ormlit 事务