【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 ---------------------------华丽的分割线------------ ...
随机推荐
- linux部署安装SRS流媒体服务器教程
这段时间一直在搞RTMP流媒体直播项目,期间踩过很多坑,刚开始是用的nginx-rtmp作为流媒体转发服务器,但是效果并不尽人意,推拉流不稳定,特别是拉流,速度特别慢,平均要十多秒才能拉到流,并且交互 ...
- C# vb .NET读取识别条形码线性条码code39
code39是比较常见的条形码编码规则类型的一种.如何在C#,vb等.NET平台语言里实现快速准确读取该类型条形码呢?答案是使用SharpBarcode! SharpBarcode是C#快速高效.准确 ...
- APS.NET MVC + EF (03)---初始MVC
3.1 MVC简介 MVC(Model-View-Controller,模型—视图—控制器模式)用于表示一种软件架构模式.它把软件系统分为三个基本部分:模型(Model),视图(View)和控制器(C ...
- Java自学-操作符 算数操作符
Java的算数操作符 算数操作符 基本的有: + - * / % 自增 自减 ++ -- 基本的加 减 乘 除: public class HelloWorld { public static voi ...
- Django---MTV和MVC的了解,Django的模版语言变量和逻辑,常见的模板语言过滤器,自定义过滤器,CSRF了解,Django的母版(继承extends,块block,组件include,静态文件的加载load static),自定义simple_tag和inclusion_tag
Django---MTV和MVC的了解,Django的模版语言变量和逻辑,常见的模板语言过滤器,自定义过滤器,CSRF了解,Django的母版(继承extends,块block,组件include,静 ...
- 关于银企直连中银行通信类 配置篇 EPIC_PROC
简单介绍:SAP银行企业直连,英文全称:Electronic Payment Integration(For China),简称EPIC,是SAP中国为本地化的需求开发的一款产品,以银企直连为支撑,主 ...
- Elasticsearch 、 Logstash以及Kibana 分布式日志
搭建ELK日志分析平台(上)—— ELK介绍及搭建 Elasticsearch 分布式集群 ELK简介: ELK是三个开源软件的缩写,分别为:Elasticsearch . Logstash以及Kib ...
- vue-cli 3.x版本执行vue ui命令后提示Error: Cannot find module ‘core-js/modules/es7.object.entries’报错的解决方法
我的方法是:npm install --save core-js(全局安装竟然不行,必须局部) vue-cli新版提供了界面化项目管理的功能,简直一万个赞! 在安装 vue-cli 3.x 版本后, ...
- Python 的稀疏矩阵
什么是稀疏矩阵 简单的说,如果一个矩阵中大部分元素为0,就被称为稀疏矩阵. 对于稀疏矩阵而言,实际存储的数据项很少.如果在计算机中采用传统的二维数组(Python中用二维列表)来存储稀疏矩阵,就会浪费 ...
- ArrayList的subList方法带来的坑
最近在项目中遇到了一个问题,由一个对象序列化的结构,在反序列化时一直提示失败,真的百思不得其解啊.在对问题排查了好久之后,才发现是这个序列化的对象中的list调用了ArrayList的sublist方 ...