JZOJ Day 3-B组-T2——淬炼神体
题目大意:
有 n n n个地方,去到第 i i i个地方会有 a i a_i ai和 b i b_i bi
要去 k k k个地方,怎么选择使得 ∑ a i / ∑ b i ( i ϵ S ) \sum a_i/\sum b_i(i\ \epsilon \ S) ∑ai/∑bi(i ϵ S)
S表示去的地方的集合
解题思路:
然后我们二分K
然后每次取 a i / k − b i ai/k−bi ai/k−bi最大的 k k k个就好了
Accepted code:
#include<cstdio>
#include<iostream>
#include<algorithm>using namespace std;const int N = 100005;int n, k;
double l, r, a[N], b[N], c[N];double read() {int flag = 1, f = 0; char c = getchar();while (!isdigit(c)) { if (c == '-') flag = -1; c = getchar();}while (isdigit(c)) f = f * 10 + c - 48, c = getchar();return (double)f * flag;
}bool Check(double checknum) {double ans = 0;for (int i = 1; i <= n; i++)c[i] = a[i] / checknum - b[i];sort(c+1, c+1+n);for (int i = n; i >= n - k + 1; i--)ans += c[i];return ans >= 0;
}int main() {n = (int)read(), k = (int)read();for (int i = 1; i <= n; i++) a[i] = read();for (int i = 1; i <= n; i++) b[i] = read();l = 1e-4, r = 20000;while (r - l > 1e-4) {double mid = (l + r) / 2.0;if (Check(mid)) l = mid;else r = mid;}printf("%0.3lf", l);
}
JZOJ Day 3-B组-T2——淬炼神体相关推荐
- 2019.1.20【NOIP提高组】模拟B组 JZOJ 4230 淬炼神体
D e s c r i b e Describe Describe 给定 n n n个点,每个点都有两个值-- a i a_i ai和 b i b_i bi,现试从中选出 k k k个点,使得 ∑ ...
- JZOJ 4230. 【五校联考4day1】淬炼神体
... 题目: 分析: 代码: 题目: 传送门 分析: 01 01 01分数规划裸题( y i d o n g yidong yidong说得好:)逃 代码: #include<iostream ...
- [五校联考4]淬炼神体
题目大意 给定n组数,选取k组数,每组数都有一个A值和B值,ans=(∑a)/(∑b) 求ans值最大,保留3为小数 题目解析 最简单的方法就是dfs枚举,求出所有ans值,取最大 正解: 一.先拆分 ...
- 01分数规划淬炼神体
前言 听说教主有一次在ACMACM里面速A了一题最优比率生成树问题,然而后面许多人跟风失败-.算了还是好好学习,天天向上,OrzOrz教主吧. 题意 给你n对数a[i],b[i]a[i],b[i],让 ...
- 4230. 【五校联考4day1】淬炼神体
Description 王仙女将你提供的答案填在<葵花宝典>上,突然,宝典发出耀眼的白光,一股强大的吸力瞬间将仙女吸入宝典中. 一阵眩晕过后,仙女发现自己来到了一个浮岛上,四周的半空中也有 ...
- 【二分 数学 0/1分数规划】JZOJ_4230 淬炼神体
题意 给出数列 a a a和 b b b,在里面选取 k k k个,使得 ∑ a i / ∑ b i \sum a_i/\sum b_i ∑ai/∑bi最大. 思路 我们可以设答案为 a n s ...
- NOIP2013普及组 T2 表达式求值
OJ地址:洛谷P1981 CODEVS 3292 正常写法是用栈 1 #include<iostream> 2 #include<algorithm> 3 #include&l ...
- SSL2811 2017年10月30日提高组T2 摘Galo(树形dp)
2017年10月30日提高组T2 摘Galo Description 0v0在野外看到了一棵Galo树,看到食物的0v0瞪大了眼睛,变成了OvO. 这棵Galo树可以看做是一棵以1号点为根的n个点的有 ...
- 备战Noip2018模拟赛3(B组) T2 Dance 开场舞蹈
10月3日备战Noip2018模拟赛3(B组) T2 Dance 开场舞蹈 题目描述 在全世界人民的期盼下,2008年北京奥林匹克运动会终于隆重召开了! 为了展示中华民族博大精深的优秀传统文化,负责开 ...
最新文章
- Flutter Android/iOS包大小分析
- java cron表达式_Java 程序员都应该去使用一下这款强大的国产工具类库
- 提升语义分割性能的几种方法
- 【解析】在设计软件的模块结构时,()不能改进设计质量
- idea工具拉取GitHub远程代码
- php中声明空数组,总结PHP中初始化空数组的最佳方法
- ANSI X9.8标准 PIN xor PAN获取PIN BlOCK
- opencv cv.waitKey(60) 0xff 含义和作用
- ccrpipa6.ocx 和mswinsck.ocx 等文件缺失问题解决(用于TCP调试助手)
- 关于U盘中“文件夹EXE病毒”的解决方案
- Python之ascii转中文
- mac日历显示国家节假日及补班日期
- AWS - Amazon Simple Email(ASE) 邮件服务
- docfx 做一个和微软一样的文档平台
- TensorRT加速
- 计算机英语作文150字,英语作文150字
- 镁客网每周硬科技领域投融资汇总(1.20-1.26),微软出手再收购开源服务商...
- 计算机图形学基础教程(Visual C++版)习题解答与编程实践(第2版)孔令德1-到第3章的直线扫描转换
- 关于用EXCEL实现甘特图表的技巧总结
- 使用 SAP WebIDE 开发 SAP Fiori Worklist 应用消费 OData 服务