P1570 KC 喝咖啡

P1570 KC 喝咖啡 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

让求 ∑ v i ∑ c i \frac { \sum{ v_i}} { \sum{c_i}} civi的最大值,假设值为 a n s ans ans,则
a n s = ∑ v i ∑ c i ans = \frac {\sum{v_i}} {\sum{c_i}} ans=civi
进行移项做恒等变换,得:
a n s × ∑ c i − ∑ v i = 0 ans \times \sum{c_i} - \sum{v_i} = 0 ans×civi=0
可以发现,最优解一定是尽可能让这个式子为0。

此时,就找到二段性。

v a l = a n s × ∑ c i − ∑ v i val = ans \times \sum{c_i} - \sum{v_i} val=ans×civi

  • v a l ≤ 0 val \le 0 val0 a n s ans ans更大可能更优
  • v a l > 0 val \gt 0 val>0 a n s ans ans更小可能更优

因此套用最小值最大的二分模板即可。

如何快速的找到 m m m个调料进行融合:根据二分的 a n s ans ans值对第调料按 a n s × c − v ans \times c - v ans×cv进行排序即可。

代码如下:

#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 21;
struct no {int v,c;double w;bool operator<(const no & rhs) {return w < rhs.w;}
}a[N];
int main()
{int n,m; cin>>n>>m;for(int i = 1; i <= n; ++i) cin>>a[i].v;for(int i = 1; i <= n; ++i) cin>>a[i].c;double l = 0, r = 1e9;auto check = [&](double mid) -> bool {for(int i = 1; i <= n; ++i) a[i].w = a[i].c * 1.0 * mid - a[i].v;sort(a + 1, a + n + 1);double sum = 0;for(int i = 1; i <= m; ++i) sum += a[i].w;return sum <= 0;};while(l < r - 1e-6) {double mid = (l + r) / 2;if(check(mid)) l = mid;else r = mid;}printf("%.3lf",l);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/793941.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

物联网实战--驱动篇之(一)EEPROM存储器(AT24C64)

目录 一、驱动概述 二、AT24C64简介 三、驱动编写 四、驱动应用 一、驱动概述 这是驱动篇的第一篇&#xff0c;所以先说明下驱动篇的作用和书写计划。之前的净化器项目已有提及&#xff0c;向ESP8266、SHT30这些都属于驱动设备&#xff0c;主芯片STM32是核心&#xff0c;相…

C++从入门到精通——范围for的使用

范围for的使用 前言一、&#xff08;引言&#xff09;python中for循环的使用二、C中的范围forC语言中的for循环C中的范围for的语法不使用范围for的正常写法范围for的写法正常范围forauto自动推导范围for 三、范围for的使用条件for循环迭代的范围必须是确定的迭代的对象要实现和…

第五节 LLava模型数据处理源码解读(input_ids/labels/attention_mask/image,上篇)

文章目录 前言一、torch.nn.utils.rnn.pad_sequence与torch.ne函数1、torch.nn.utils.rnn.pad_sequence函数功能解读1、函数原理2、demo示列3、demo结果对比2、torch.ne函数介绍二、图像与语言加载1、语言处理tokenizer的来源2、图像处理process的来源3、数据加工方法三、数据加…

redis 数据库的安装及使用方法

目录 一 关系数据库与非关系型数据库 &#xff08;一&#xff09;关系型数据库 1&#xff0c;关系型数据库是什么 2&#xff0c;主流的关系型数据库有哪些 3&#xff0c;关系型数据库注意事项 &#xff08;二&#xff09;非关系型数据库 1&#xff0c;非关系型数据库是…

vue-element-template 设置权限管理配置文件 \ vue用户权限管理

最近使用vue-element-template模板做系统时&#xff0c;需要实现用户权限管理&#xff0c;通过后端传来的roles字段来判断不同用户的身份&#xff0c;不同用户显示不同的侧边栏&#xff0c;下面是配置方法&#xff1a; 0.需要配置的文件有&#xff1a; src/routersrc/store/mo…

模拟---算法

1、定义 仅仅使用较简单的算法和数据结构的题目。模拟顾名思义,按照题目的要求,一步步写出代码。 特点:模拟题目通常是具有码量大、操作多、思路繁复的特点。 2、步骤 读题,读懂题目的意思,要知道题目想做什么建模,利用什么样的数据结构来实现代码实现,写出代码框架调…

maven上传pom和jar文件到远程仓库

上传.pom文件 例如只想要上传 Spring Cloud Dependencies 的 .pom 文件到 Maven 远程仓库&#xff0c;可以执行如下命令 mvn deploy:deploy-file -Durlrepository-url -DrepositoryIdrepository-id -Dfilepath-to-pom-file -DpomFilepath-to-pom-file其中&#xff0c;需要…

day04-MQ

1.初识MQ 1.1.同步和异步通讯 微服务间通讯有同步和异步两种方式&#xff1a; 同步通讯&#xff1a;就像打电话&#xff0c;需要实时响应。异步通讯&#xff1a;就像发邮件&#xff0c;不需要马上回复。 两种方式各有优劣&#xff0c;打电话可以立即得到响应&#xff0c;但是你…

LeNet卷积神经网络

文章目录 简介conv2d网络层的结构 简介 它是最早发布的卷积神经网络之一 conv2d 这个卷积成的参数先进行介绍一下&#xff1a; self.conv1 nn.Conv2d(in_channels3, out_channels10, kernel_size3, stride1, padding1)先看一下in_channels 输入的通道数&#xff0c;out_cha…

蓝桥杯备考随手记: practise06

问题描述: 一个字符串的非空子串是指字符串中长度至少为1 的连续的一段字符组成的串。 例如&#xff0c;字符串aaab 有非空子串a, b, aa, ab, aaa, aab, aaab&#xff0c;一共7 个。 注意在计算时&#xff0c;只算本质不同的串的个数。 请问&#xff0c;字符串01001100010100…

Redis从入门到精通(五)Redis实战(二)商户查询缓存

↑↑↑请在文章头部下载测试项目原代码↑↑↑ 文章目录 前言4.2 商户查询缓存4.2.1 缓存介绍4.2.2 查询商户信息的传统做法4.2.2.1 接口文档4.2.2.2 代码实现4.2.2.3 功能测试 4.2.3 查询商户信息添加Redis缓存4.2.3.1 逻辑分析4.2.3.2 代码实现4.2.3.3 功能测试 4.2.3 数据一致…

接口的总结与面试题

接口本身不能创建对象&#xff0c;只能创建接口的实现类对象&#xff0c;接口类型的变量可以与实现类对象构成多态引用。 声明接口用interface&#xff0c;接口的成员声明有限制&#xff1a; &#xff08;1&#xff09;公共的静态常量 &#xff08;2&#xff09;公共的抽象方…

【洛谷 P8656】[蓝桥杯 2017 国 B] 对局匹配 题解(映射+位集合+贪心算法)

[蓝桥杯 2017 国 B] 对局匹配 题目描述 小明喜欢在一个围棋网站上找别人在线对弈。这个网站上所有注册用户都有一个积分&#xff0c;代表他的围棋水平。 小明发现网站的自动对局系统在匹配对手时&#xff0c;只会将积分差恰好是 K K K 的两名用户匹配在一起。如果两人分差小…

Python网络爬虫(四):b站评论

首先来看一下采集的数据格式: 本文不对数据采集的过程做探讨,直接上代码。首先要在程序入口处bvids列表内替换成自己想要采集的视频bvid号,然后将self.cookies替换成自己的(需要字典格式),代码可以同时爬取多个视频的评论,且爬取的评论较为完整,亲测有效: im…

el-upload上传图片图片、el-load默认图片重新上传、el-upload初始化图片、el-upload编辑时回显图片

问题 我用el-upload上传图片&#xff0c;再上一篇文章已经解决了&#xff0c;el-upload上传图片给SpringBoot后端,但是又发现了新的问题&#xff0c;果然bug是一个个的冒出来的。新的问题是el-upload编辑时回显图片的保存。 问题描述&#xff1a;回显图片需要将默认的 file-lis…

VScode使用持续更新中。。。

VScode 安装 Ubuntu18.04安装和使用VScode 使用 Vscode如何设置成中文

基于springboot大学生兼职平台管理系统(完整源码+数据库)

一、项目简介 本项目是一套基于springboot大学生兼职平台管理系统 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界面美观、操作简单、功…

基于Springboot + vue + mysql 游戏分享管理系统 (含源码)

目录 &#x1f4da; 前言 &#x1f4d1;摘要 &#x1f4d1;系统架构 &#x1f4da; 系统架构设计 &#x1f4da; 数据库设计 &#x1f4ac; 管理员功能需求E/R图 &#x1f4ac; 用户功能需求E/R图 &#x1f4ac; 游戏文章E/R图 &#x1f4ac; 用户E/R图 &#x1f4da; 系…

Jmeter的使用

Jmeter的使用 1.Jmeter简介 以下内容来自Jmeter中文网http://www.jmeter.com.cn/jieshao&#xff0c;很好的解释了Jmeter的作用&#xff1a; Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试&#xff0c;它最初被设计用于Web应用测试&#xf…

zabbix绑定钉钉进行通知,网页端添加JavaScript,无脑式操作

文章目录 前言一、编辑zabbix告警JavaScript脚本二、代码如下&#xff1a;编辑消息模板&#xff0c;自定义markdown格式的消息。 总结 前言 随着人工智能的不断发展&#xff0c;zabbix监控这门技术也越来越重要&#xff0c;一下进入正题。 一、编辑zabbix告警JavaScript脚本 没…