题意:

n个池塘,给定每个的容量,物理高度 从高到低排列,每个都有水龙头往里流水,某个池塘水满了会往下面的池塘留

为最后一个池塘满了的最少的时间 和 所有池塘都满了的时间

思路:

对两种情况分别二分答案(符合题意的条件的时间),check的时候从左往右,溢出的水量加到num里,

在求所有的都满了的时间的时候,如果某个不满,直接返回0,如果都满了,返回1

在求最后一个满了的时间的时候,如果某个不满,那就跳过,num清零,只要判最后一个是否会满;

设定二分的次数,保证正确性;

#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 7;int n;
double k;
double a[maxn];bool is_ok(double t) {double num = 0;for(int i = 1; i <= n; ++i) {num += (t*k);if(num < a[i]) return false;num -= a[i];}return true;
}bool is_ok1(double t) {double num = 0;for(int i = 1; i < n; ++i) {num += (t*k);if(num < a[i]) num = 0;else num -= a[i];}num += (t*k);return num > a[n];
}int main() {while(~scanf("%d%lf", &n, &k)) {for(int i = 1; i <= n; ++i) {scanf("%lf", &a[i]);}int t = 100;double l_ = 0, r_ = 1e9+7;double ans1, ans2;while(t--) {double mid = (l_ + r_) / 2;if(is_ok(mid)) {r_ = mid;}else {l_ = mid;}}ans1 = r_;l_ = 0, r_ = 1e9+7;t = 100;while(t--) {double mid = (l_ + r_) / 2;if(is_ok1(mid)) {r_ = mid;}else {l_ = mid;}}ans2 = r_;printf("%.6f %.6f\n", ans2, ans1);}return 0;
}

CTU 2017 B - Pond Cascade 二分相关推荐

  1. CTU Open Contest 2017 Pond Cascade

    //从后面开始,看看最长的等差数列,然后返回第一个位置 #include <iostream> #include <stdio.h> using namespace std; ...

  2. Pond Cascade Gym - 101670B 解题报告

    题目: The cascade of water slides has been installed in the park recently and it has to be tested. The ...

  3. B - Pond Cascade Gym - 101670B

    本题为二分答案,题意为从高到低依次给n个深度不同的水池和水管的流速(每个水管都一样),如果某一个池塘满了,那么 它只会向后面的的池塘溢水,问多长时间所有的池塘都能装满水和最后一个池塘什么时候装满水. ...

  4. 【ABC 203】D - Pond:二分 + 前缀和

    传送门 分析 二分一下,把矩阵改成010101矩阵,搞一下前缀和即可 代码 #pragma GCC optimize(3) #include <bits/stdc++.h> #define ...

  5. ICCV 2017 《Chained Cascade Network for Object Detection》论文笔记

    本学弱喜欢在本子上记笔记,但字迹又丑. 望看不懂我的字的大佬不要喷我,看得懂的大佬批评指正.

  6. 蓝桥杯2017初赛-分巧克力-二分

    题目描述 **儿童节那天有K位小朋友到小明家做客.小明拿出了珍藏的巧克力招待小朋友们. 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形. 为了公平起见,小明需要从这 N 块巧克力中 ...

  7. CTU 2017 J - Punching Power (二分图匹配)

    题意: 公园管理层最终决定在公园的各个战略位置安装一些流行的拳击机.实际上,为了弥补以前缺少的机器,他们决定安装尽可能多的机器.令人惊讶的是,公园不会被新机器堵塞,因为对于机器的位置存在一些非常严重的 ...

  8. CTU Open Contest 2017

    这场题很水.水题我就懒得贴了. B - Pond Cascade 优先队列维护这个水池需要多少时间 或者 直接扫一遍. #include <cstdio> #include <cst ...

  9. 2017-2018 CTU Open Contest

    A - Amusement Anticipation 题意:找到间隔相同的最长的子串,这个串以最后一个元素为开头 #include <iostream> #include <stdi ...

最新文章

  1. 线上Tomcat支持Eclipse远程调试的方法
  2. k8s Service的类型和实现流程图解
  3. Jquey将序列化对象在前台显示地几种方式
  4. mysql断电同步不起作用_mysql主从同步因断电产生的不能同步问题
  5. 【写给朱大虫的教程】【Ruby on Rails】【006】遵循Rails理念的快速实现
  6. qchart画完以后删除_冬天的夜晚很难画?老师分步骤教你画,简单易学,收藏起来临摹...
  7. php基础教学笔记,php学习笔记:基础知识
  8. 数论 —— 高次同余方程与 BSGS 算法
  9. heroku_Heroku Connect的美丽:简化数据库同步
  10. 可能是你见过的最完善的微前端解决方案
  11. css3动画结束捕捉事件整理
  12. C# 在word中查找及替换文本
  13. 打开plsqldev报错解决
  14. Hash散列算法详细解析(五)
  15. 饥饿的小易(BFS问题)
  16. 单视图几何Vanish Point(消失点/灭点)计算方法——Robert_T_Collins(罗伯特·柯林斯)算法
  17. JavaSE学习笔记_20:Java网络编程
  18. 数学板块学习之FWT
  19. 贤弟单腾,因崔思婷,机器人类打字~~~~~~
  20. android wifi驱动加载失败怎么办,wifi驱动无法被安卓系统正常调用

热门文章

  1. 童年记忆中的零食商品
  2. 超标量处理器设计 姚永斌 第9章 指令执行 摘录
  3. Python核心编程-Amy老师第七讲课程作业
  4. 【已解决】Java “错误:编码GBK 的不可映射字符”
  5. 网络技术-ENSP 华为模拟器(三)身份认证
  6. 自然语言处理NLP星空智能对话机器人系列:深入理解Transformer自然语言处理 GLUE MRPC
  7. 我的十年青春(10至20):写博10年1700万PV、创业5年30万学员
  8. P3088 [USACO13NOV]Crowded Cows
  9. mysql事务 mysql事务回滚 MySQL事务死锁 如何解除死锁 资金出入账
  10. 当老师还是学计算机好,为什么大学里的计算机老师那么厉害,却不去当程序员拿高薪?...