题目链接

题意

机场有两种飞机,每小时一些飞机到达,每小时安排一架飞机起航。求任意时刻中两种飞机数目的最大值的最小值。

分析

首先肯定是二分来做。这里的难点在于如何判断飞机数目是否合法。一开始忽略了某时刻会有某种飞机并不能起飞的情况,所以不能简单粗暴地只算总数。应该同时记录两种飞机的在每个时刻的可起飞数。

#include <bits/stdc++.h>
using namespace std;
const int maxn = 5000 + 5;
int a[maxn], b[maxn];
bool judge(int mid, int n)
{int can1 = 0, can2 = 0, canTot = 0, sum1 = 0, sum2 = 0;for(int i = 0; i < n; i++){sum1 += a[i], sum2 += b[i];int delta1 = max(0, sum1 - mid);int delta2 = max(0, sum2 - mid);if(delta1 > can1 || delta2 > can2){return false;}if(delta1 + delta2 > canTot){return false;}if(sum1 - can1 > 0) can1++;if(sum2 - can2 > 0) can2++;if(sum1 + sum2 - canTot > 0)    canTot++;}return true;
}
int main()
{int T, n;scanf("%d", &T);while(T--){scanf("%d", &n);for(int i = 0; i < n; i++)  scanf("%d%d", &a[i], &b[i]);int lb = 0, rb = 1e9;while(lb < rb){int mid = (lb + rb) / 2;if(judge(mid, n))   rb = mid;else lb = mid + 1;}printf("%d\n", max(0, rb - 1));}return 0;
}

转载于:https://www.cnblogs.com/fht-litost/p/8911854.html

UVALive 4725 Airport(二分)相关推荐

  1. UVALive 4223 Trucking 二分+spfa

    Trucking 题目连接: https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8& ...

  2. 训练指南第一部分解题报告

    主要是提供训练指南第一部分解题报告链接,后面会持续更新中 307 - Sticks  (DFS+剪枝) 11292 - Dragon of Loowater (贪心) 11729 - Commando ...

  3. 【UVALive 4642】Malfatti Circles(圆,二分)

    题 给定三角形,求三个两两相切且与三角形的一条边相切的圆的半径. 二分一个半径,可以得出另外两个半径,需要推一推公式(太久了,我忘记了) #include<cstdio> #include ...

  4. UVALive 4254 Processor(二分)

    很容易想到二分,问题在与判断一个解的可行性.贪心,时间点最多两万,可以模拟每个时间点,将事件按开始时间排序, 每次优先选已经开始了的且结束时间最早的任务来做,如果某个任务在deadline之前还没有结 ...

  5. UVALive - 3231 Fair Share(最大流+二分)

    题目链接:点击查看 题目大意:给出n个处理器和m个任务,每个任务给出可以运行的两个处理器,只需要其中一个处理器完成即可, 问如何分配处理方案,能使得n个处理器中处理任务最多的处理器所处理的任务最少 题 ...

  6. UVALive 6525 Attacking rooks 二分匹配 经典题

    题目链接:点击打开链接 题意: 给定n*n的棋盘, 能够在'.'上摆 象棋中的车(X是墙壁) 使得随意两个车都不能互相攻击到 问:最多能摆多少个车. 思路: 二分匹配 1.若没有X.那么做法就是 X点 ...

  7. UVALive 5000 Underwater Snipers --二分

    题意:一条河岸线y=k,y>k区域有n个敌人,现在要在y<=k区域布置S个狙击手,狙击手的狙击范围为距离自己半径为D的圆内,问满足能够狙死所有的敌人的情况下,离河岸线最近的那个狙击手的离河 ...

  8. Business Cycle 【UVALive - 7501】【二分答案+思维处理】

    题目链接 14年的EC(银牌题),但是现在的大牛们进步神速,估计如今已经是道铜牌题了,具体我们先讲一下题意. 一个长度为N的自环圈,每个点(1-N)上有自己对应的权值(可能为负数),我们用一个初始值进 ...

  9. I - Defeat the Enemy UVALive - 7146 二分 + 贪心

    https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_probl ...

  10. The UVALIVE 7716 二维区间第k小

    The UVALIVE 7716 二维区间第k小 /** 题意:给一个n * n的矩阵,有q个查询每次查询r,c,s,k表示已(r,c)为右上角 大小为s的正方形中 第k小的元素n <= 250 ...

最新文章

  1. 高通平台device tree生成platform device的过程(MSM8909)
  2. ML之XGBoost:XGBoost参数调优的优秀外文翻译—《XGBoost中的参数调优完整指南(带python中的代码)》(二)
  3. 卷积神经网络CNNs 为什么要用relu作为激活函数?
  4. git 删除远程分支和本地分支
  5. linux下java命令行参数_Java调用Linux命令行
  6. 如何培养编程所需要的逻辑思维?
  7. 【数字图像处理】直方图均衡化详解及编程实现
  8. shell字符串是否以a-zA-Z字母开头
  9. 计算机二级vb语言题库百度云,计算机二级VB语言程序设计考试题及答案
  10. 知识图谱构建(概念,工具,实例调研)
  11. pandas 列计算log不用math.log而是np.log
  12. Linux初级入门百篇--lsof工具
  13. 差生的 8 年程序员总结
  14. 使用高德地图自定义marker、infowindow
  15. Word处理控件Aspose.Words功能演示:从 Java 中的 Word 文档中提取图像
  16. TreeSet()原理及使用
  17. css 角度单位 deg turn grad turn
  18. Exchange 2013接收连接器以及邮件客户端若干问题介绍
  19. MPLS option-A
  20. 软件质量测试:Jmeter察看结果树的响应数据中的中文显示乱码问题处理

热门文章

  1. 末日帝国——Agile公司的困境 (4)
  2. 虚拟机中运行windows内核
  3. 《程序员修炼之道——从小工到专家》(典藏书)
  4. Git版本控制:Git远程仓库
  5. linux的vi详细命令
  6. 力扣-746. 使用最小花费爬楼梯
  7. 色彩缤纷的python(改变字体颜色及样式不完全版)
  8. VS 2017 产品密钥
  9. iOS开发_统计xcode代码行数
  10. 使用 JSONModel