POJ2976:Dropping tests——题解
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=1005; const dl eps=1e-7; dl a[N],b[N],t[N]; int n,k; double solve(dl l,dl r){while(r-l>eps){dl mid=(l+r)/2;for(int i=1;i<=n;i++)t[i]=a[i]-mid*b[i];sort(t+1,t+n+1);dl sum=0;for(int i=k+1;i<=n;i++)sum+=t[i];if(sum>0)l=mid;else r=mid;}return r; } int main(){while(scanf("%d%d",&n,&k)!=EOF&&n+k){for(int i=1;i<=n;i++)scanf("%lf",&a[i]);for(int i=1;i<=n;i++)scanf("%lf",&b[i]);printf("%.f\n",solve(0,1)*100);}return 0; }
转载于:https://www.cnblogs.com/luyouqi233/p/8266662.html
POJ2976:Dropping tests——题解相关推荐
- poj2976 Dropping tests(01分数规划 好题)
https://vjudge.net/problem/POJ-2976 又是一波c++AC,g++WA的题.. 先推导公式:由题意得 Σa[i]/Σb[i]<=x,二分求最大x.化简为Σ(a[i ...
- POJ2976——Dropping tests(0/1分数规划)
传送门 最简单的分数规划 对于最终答案ans,有 ans=Σai∗100Σbians=\frac{Σa_i*100}{Σb_i}ans=ΣbiΣai∗100 则 Σbi∗ans=Σai∗100Σ ...
- [POJ2976] Dropping tests
传送门:>Here< 题意:给出长度相等的数组a和b,定义他们的和为$\dfrac{a_1+a_2+...+a_n}{b_1+b_2+...+b_n}$.现在可以舍弃k对元素(一对即$a[ ...
- POJ-2976 Dropping tests 01分数规划
题目链接:http://poj.org/problem?id=2976 很典型的01分数规划,sort+二分即可.注意精度问题,这种四舍五入的问题一般都是两种处理方法:1.printf("% ...
- poj2976 Dropping tests
01分数规划裸题 为毛二分一定要打成r=mid这么恶心啊 #include<cstdio> #include<iostream> #include<cstring> ...
- Bailian4145 放弃考试 POJ2976 ZOJ3068 Dropping tests【二分法+01分数规划】
4145:放弃考试 总时间限制: 1000ms 内存限制: 65536kB 描述 在一门课程中,一共有n场考试.假如你在i场考试中可以答对bi道题中的ai道,那么你的累计平均分定义为:100·Σai/ ...
- Dropping tests
题目链接:http://poj.org/problem?id=2976 Dropping tests Time Limit: 1000MS Memory Limit: 65536K Total S ...
- 二分+01分数规划+最大化平均值 Dropping tests POJ - 2976
题意: 给你若n个分数,分子a[i]a[i]a[i],分母b[i]b[i]b[i],使满足公式100⋅∑i=1nai∑i=1nbi100\cdot\tfrac{\sum_{i=1}^{n} a_{i} ...
- 【POJ - 2976】【ZOJ - 3068】【SCU - 2992】Dropping tests (01分数规划)
题干: In a certain course, you take n tests. If you get ai out of bi questions correct on test i, your ...
最新文章
- 比特币地址可以查到本人吗_查看每一个地址有多少个比特币
- hadoop搭建之hadoop安装
- 客户读取文件服务器上文件的过程,java从服务器上读取文件
- 像中文的罗马音字体复制_帮我把日语的罗马音弄成汉字!
- html页面如何嵌入word在线编辑器,网页word编辑器 网页中如何嵌入word编辑器
- CAN协议要点及车辆CAN协议破解
- fastboot 常用命令
- CTeX书写规范、WinEdt编写XeLaTeX、数模格式编写总结
- JavaScript浏览器对象之window对象详解
- 无人机影像的植被覆盖度、叶面积指数估算
- 永别了.武器------爱好和平人民的美好愿望(图)
- Excel如何在文本间插入分隔符
- 华东理工某ACMer总结
- 解决pip无法更新问题
- 关于微服务的两篇文章以及Eventuate
- Socket中send()函数和recv()函数详解
- 华为设备历史200条命令查询方法
- 【论文笔记】A review of applications in federated learning(综述)
- 股票交易接口除了通信达还有哪些
- 微博对现代社会的影响力——隐私的丢失与保密
热门文章
- 怎样配置Tomcat环境变量
- C# 程序Hello World
- 延迟初始化Spring Bean的几种方式
- [iOS] 使用 blockable NSTimer 避免内存泄漏
- SQLServer复制需要有实际的服务器名称才能连接到服务器,请指定实际的服务器名转...
- SBT管理java项目
- Vs2010创建WebService
- 在window7 64位下Oracle 10g 数据库中PLSQL Developer配置和使用
- #includeiostream与#includeiostream.h的区别
- Jquery取得iframe中元素的几种方法Javascript Jquery获取Iframe的元素、内容或者ID,反之也行!...