题目大意:

有 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——淬炼神体相关推荐

  1. 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个点,使得 ∑ ...

  2. JZOJ 4230. 【五校联考4day1】淬炼神体

    ... 题目: 分析: 代码: 题目: 传送门 分析: 01 01 01分数规划裸题( y i d o n g yidong yidong说得好:)逃 代码: #include<iostream ...

  3. [五校联考4]淬炼神体

    题目大意 给定n组数,选取k组数,每组数都有一个A值和B值,ans=(∑a)/(∑b) 求ans值最大,保留3为小数 题目解析 最简单的方法就是dfs枚举,求出所有ans值,取最大 正解: 一.先拆分 ...

  4. 01分数规划淬炼神体

    前言 听说教主有一次在ACMACM里面速A了一题最优比率生成树问题,然而后面许多人跟风失败-.算了还是好好学习,天天向上,OrzOrz教主吧. 题意 给你n对数a[i],b[i]a[i],b[i],让 ...

  5. 4230. 【五校联考4day1】淬炼神体

    Description 王仙女将你提供的答案填在<葵花宝典>上,突然,宝典发出耀眼的白光,一股强大的吸力瞬间将仙女吸入宝典中. 一阵眩晕过后,仙女发现自己来到了一个浮岛上,四周的半空中也有 ...

  6. 【二分 数学 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 ...

  7. NOIP2013普及组 T2 表达式求值

    OJ地址:洛谷P1981 CODEVS 3292 正常写法是用栈 1 #include<iostream> 2 #include<algorithm> 3 #include&l ...

  8. SSL2811 2017年10月30日提高组T2 摘Galo(树形dp)

    2017年10月30日提高组T2 摘Galo Description 0v0在野外看到了一棵Galo树,看到食物的0v0瞪大了眼睛,变成了OvO. 这棵Galo树可以看做是一棵以1号点为根的n个点的有 ...

  9. 备战Noip2018模拟赛3(B组) T2 Dance 开场舞蹈

    10月3日备战Noip2018模拟赛3(B组) T2 Dance 开场舞蹈 题目描述 在全世界人民的期盼下,2008年北京奥林匹克运动会终于隆重召开了! 为了展示中华民族博大精深的优秀传统文化,负责开 ...

最新文章

  1. Flutter Android/iOS包大小分析
  2. java cron表达式_Java 程序员都应该去使用一下这款强大的国产工具类库
  3. 提升语义分割性能的几种方法
  4. 【解析】在设计软件的模块结构时,()不能改进设计质量
  5. idea工具拉取GitHub远程代码
  6. php中声明空数组,总结PHP中初始化空数组的最佳方法
  7. ANSI X9.8标准 PIN xor PAN获取PIN BlOCK
  8. opencv cv.waitKey(60) 0xff 含义和作用
  9. ccrpipa6.ocx 和mswinsck.ocx 等文件缺失问题解决(用于TCP调试助手)
  10. 关于U盘中“文件夹EXE病毒”的解决方案
  11. Python之ascii转中文
  12. mac日历显示国家节假日及补班日期
  13. AWS - Amazon Simple Email(ASE) 邮件服务
  14. docfx 做一个和微软一样的文档平台
  15. TensorRT加速
  16. 计算机英语作文150字,英语作文150字
  17. 镁客网每周硬科技领域投融资汇总(1.20-1.26),微软出手再收购开源服务商...
  18. 计算机图形学基础教程(Visual C++版)习题解答与编程实践(第2版)孔令德1-到第3章的直线扫描转换
  19. 关于用EXCEL实现甘特图表的技巧总结
  20. 使用 SAP WebIDE 开发 SAP Fiori Worklist 应用消费 OData 服务

热门文章

  1. C语言如何引用自己写的头文件
  2. oracle移除字段默认值,Oracle——增加修改删除字段
  3. 安装Git和注册GitHub账号
  4. python图像识别的学习
  5. 数据结构学习——树与二叉树的转换
  6. 连接两个点云的字段或数据形成新点云
  7. 【阿里云镜像】配置阿里云 Composer 全量镜像
  8. 【Vulnhub系列】DC3
  9. 月薪过万的UI设计师有哪些能力
  10. keras里predict函数预测速度慢的优化方法