【luoguP2989】[USACO10MAR]对速度的需要Need For Speed
最大化平均值
二分一个\(x\)
\(check\):
\(\frac{F+\sum_{i=1}^{n} X_{i} \times F_{i}}{M+\sum_{i=1}^{n} X_{i} \times M_{i}}\geq x\)
\(F+\sum_{i=1}^{n} X_{i} \times F_{i} \geq M \times x+\sum_{i=1}^{n} X_{i} \times M_{i} \times x\)
\(F-M \times x+\sum_{i=1}^{n} (X_{i} \times F_{i}-X_{i} \times M_{i} \times x)\ge 0\)
贪心的将\(1\)到\(n\)中大于\(0\)的\((X_{i} \times F_{i}-X_{i} \times M_{i} \times x)\)加起来,判断一下就可以了
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
const int MAXN=10010;
int n,M,F,f[MAXN],m[MAXN];
inline bool check(double x){
double sum=F-M*x;
for(int i=1;i<=n;++i)
sum+=max(0.0,f[i]-m[i]*x);
return sum>=0;
}
int main()
{
scanf("%d%d%d",&F,&M,&n);
for(int i=1;i<=n;++i)
scanf("%d%d",&f[i],&m[i]);
double l=0,r=1e18;
while(r-l>0.001){
double mid=(l+r)/2.0;
if(check(mid)) l=mid;
else r=mid;
}
bool flag=0;
for(int i=1;i<=n;++i)
if(f[i]-m[i]*l>0) printf("%d\n",i),flag=1;
if(!flag) puts("NONE");
return 0;
}
【luoguP2989】[USACO10MAR]对速度的需要Need For Speed的更多相关文章
- linux下ssd电子盘速度检测
代码: #include<stdio.h> #include<sys/time.h> #include <fcntl.h> #include <pthread ...
- Android MediaPlayer 音频倍速播放,调整播放速度
本文链接: Android MediaPlayer 倍速播放,调整播放速度 现在市面上的很多音视频App都有倍速播放的功能,例如把播放速度调整为0.5.1.5.2倍等等. 从Android API 2 ...
- 读取Simulink中Dataset类型的数据
http://files.cnblogs.com/files/pursuiting/%E5%80%92%E7%AB%8B%E6%91%86%E6%8E%A7%E5%88%B6%E7%B3%BB%E7% ...
- reflow和repaint(摘录自张鑫旭的翻译)
//正文开始 关于回流(reflows)与重绘(repaints),我已经在twitter和delicious上发布,但是并没有在演讲中提到或是以文章形式发布. 第一次让我开始思考关于回流(reflo ...
- 知乎背景图 canvas 效果
思路分析: 1.创造一块画布, 2.在画布内随机产生一些小球,小球位置,半径,颜射,大小,速度等都可以随机产生, 3.定义画小球函数与小球移动函数, 4.将每一个小球圆心都与其它小球链接, 5判断每一 ...
- Swiper说明&&API手册 【中文手册Swiper】
原文地址:http://www.cnblogs.com/scavengers/p/3760449.html 示例: <link rel="stylesheet" href= ...
- Javascript运动基础
javascript的运动非常实用,通过控制需要运动块的实际距离与要到达的距离的关系,结合定时器来控制小方块的各种运动. 运动框架 <!DOCTYPE html><html>& ...
- Swiper 中文API手册(share)
本文分享自 http://www.cnblogs.com/scavengers/p/3760449.html ---------------------------华丽的分割线------------ ...
- Swiper.js 中文API手册
本文分享自 http://www.cnblogs.com/scavengers/p/3760449.html ---------------------------华丽的分割线------------ ...
随机推荐
- 深入理解TCP/IP传输层
传输层:负责数据能够从发送端传到接收端(只需要关注点对点的传输,中间的传输过程一概不管) UDP和TCP UDP(全双工):1.无连接,2不可靠,3.面向数据报 分别表示UDP源端口号.目的端口号.U ...
- 浅析ajax请求json数据并用js解析(示例分析)
这应该是每个web开发的人员都应该掌握的基础技术,需要的朋友可以参考下 自从接触了jquery就喜欢上了前端开发,而且深深感受到了前端开发的强大与重要之处.同时也想为asp.net鸣不平,事实上asp ...
- Restart container within pod
https://stackoverflow.com/questions/46123457/restart-container-within-pod 命令 kubectl exec -it [POD_N ...
- spark源码阅读--shuffle读过程源码分析
shuffle读过程源码分析 上一篇中,我们分析了shuffle在map阶段的写过程.简单回顾一下,主要是将ShuffleMapTask计算的结果数据在内存中按照分区和key进行排序,过程中由于内存限 ...
- 【MySQL】MySQL高可用架构之MHA
一.关于MHA MHA(Master HA)是一款开源的MySQL的高可用程序,它为MySQL主从复制架构提供了automating master failover 功能.MHA在监控到master节 ...
- Ubuntu下的log日志查看器
1.lnav:Linux 下一个基于控制台的高级日志文件查看器 https://www.cnblogs.com/michealLang/p/9761886.html http://www.imooc. ...
- XML简述
XML简述 本文主要内容都是在中国大学MOOC上学习的,这里做个记录. 课程:Java核心技术(进阶),华东师范大学 陈良育老师 感谢陈良育老师,在他的慕课上受益匪浅. XML基本概念 XML(eXt ...
- Kafka Streams开发入门(2)
背景 上一篇我们介绍了Kafka Streams中的消息转换操作map,今天我们给出另一个经典的转换操作filter的用法.依然是结合一个具体的实例展开介绍. 演示功能说明 本篇演示filter用法, ...
- 面试常问的join
少壮不努力,老大徒伤悲 工作大半辈子了,来到个陌生的过度,从零开始,像个应届毕业生一样投入茫茫人才市场,碰的满头包. 凡是涉及到sql server的都会问,join的问题,不烦记录下: SQL的jo ...
- CentOS7安装rpm包时依赖检测失败,加上--nodeps --force
安装mysql-community-server的时候,出现依赖检测失败 加上--nodeps --force后可跳过依赖检测,如下