题目

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

题意

飞机,一个起飞的跑道,两个降落的跑道。每个时刻首先两个跑道降落一些飞机,然后再飞走一架飞机,最后所有还停留着的飞机按照0开始编号,问如何安排能使序号最小

思路

明显,使用二分法枚举答案

感想:

由于题目描述,不太能理解到底是如何起飞,降落,序号又是何时进行统计的,所以在最后的序号上是否要多取1卡了很久

代码

#include <algorithm>
#include <cassert>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <map>
#include <queue>
#include <set>
#include <string>
#include <tuple>
#define LOCAL_DEBUG
using namespace std;
typedef pair<int, int> MyPos;
const int MAXN = ;
int a[MAXN];
int b[MAXN];
int sumA[MAXN];
int sumB[MAXN];
int limitedA[MAXN];
int limitedB[MAXN];
int limitedSum[MAXN];
int n;
bool check(int mx) {
int costA = , costB = ;
for (int i = ; i <= n; i++) {
costA = max(costA, sumA[i] - mx);
costB = max(costB, sumB[i] - mx);
if (costA > limitedA[i] || costB > limitedB[i] || costA + costB > limitedSum[i])return false;
}
return true;
} int main() {
#ifdef LOCAL_DEBUG
freopen("C:\\Users\\Iris\\source\\repos\\ACM\\ACM\\input.txt", "r", stdin);
freopen("C:\\Users\\Iris\\source\\repos\\ACM\\ACM\\output.txt", "w", stdout);
#endif // LOCAL_DEBUG
int T;
cin >> T;
for (int ti = ; ti <= T && cin >> n; ti++) {
for (int i = ; i <= n; i++) {
cin >> a[i] >> b[i];
}
//if (ti < 258)continue;
for (int i = ; i <= n; i++) {
sumA[i] = sumA[i - ] + a[i];
sumB[i] = sumB[i - ] + b[i];
bool addA = sumA[i - ] > limitedA[i - ];
bool addB = sumB[i - ] > limitedB[i - ];
limitedA[i] = limitedA[i - ] + (addA ? : );
limitedB[i] = limitedB[i - ] + (addB ? : );
limitedSum[i] = limitedSum[i - ] + ((limitedA[i] + limitedB[i] > limitedSum[i - ]) ? : );
}
int l = , r = n * ;
while (l < r) {
int mid = (l + r) >> ;
if (mid == l)break;
if (check(mid)) {
r = mid;
}
else {
l = mid;
}
}
cout<<l<<endl;
}
return ;
}

UVa Live 4725 - Airport 二分,动态规划,细节 难度: 1的更多相关文章

  1. UVa LA 4254 - Processor 二分,贪心 难度: 1

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

  2. CJOJ 1070 【Uva】嵌套矩形(动态规划 图论)

    CJOJ 1070 [Uva]嵌套矩形(动态规划 图论) Description 有 n 个矩形,每个矩形可以用两个整数 a, b 描述,表示它的长和宽.矩形 X(a, b) 可以嵌套在矩形 Y(c, ...

  3. CJOJ 1071 【Uva】硬币问题(动态规划)

    CJOJ 1071 [Uva]硬币问题(动态规划) Description 有n种硬币,面值分别为v1, v2, ..., vn,每种都有无限多.给定非负整数S,可以选用多少个硬币,使得面值之和恰好为 ...

  4. UVALive 4725 Airport(二分)

    题目链接 题意 机场有两种飞机,每小时一些飞机到达,每小时安排一架飞机起航.求任意时刻中两种飞机数目的最大值的最小值. 分析 首先肯定是二分来做.这里的难点在于如何判断飞机数目是否合法.一开始忽略了某 ...

  5. UVa 11636 - Hello World! 二分,水题 难度: 0

    题目 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&a ...

  6. UVa 10891 - Game of Sum 动态规划,博弈 难度: 0

    题目 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&a ...

  7. Uva 12124 Uva Live 3971 - Assemble 二分, 判断器, g++不用map.size() 难度:0

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

  8. UVA - 11478 - Halum(二分+差分约束系统)

    Problem  UVA - 11478 - Halum Time Limit: 3000 mSec Problem Description You are given a directed grap ...

  9. UVa 104 - Arbitrage(Floyd动态规划)

    题目来源:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=3&pa ...

随机推荐

  1. RPC服务和HTTP服务对比

    RPC服务和HTTP服务对比 RPC(即Remote Procedure Call,远程过程调用) 协议区别: RPC主要是基于TCP/IP协议的,而HTTP服务主要是基于HTTP协议的,我们都知道H ...

  2. 213. House Robber II(动态规划)

    You are a professional robber planning to rob houses along a street. Each house has a certain amount ...

  3. 牛客网 完数VS盈数

    题目链接:https://www.nowcoder.com/practice/ccc3d1e78014486fb7eed3c50e05c99d?tpId=40&tqId=21351&t ...

  4. 约定优于配置---Java的eclipse项目配置

    0.测试文件夹test (测试文件的文件夹和源文件夹src是并行的关系,且位于同一目录) 以后源文件.java文件放在src目录下,相应的单元测试文件放在同级别的test目录下,且内部路径要相同 1. ...

  5. 虚拟机linux下安装tomcat外部可访问

    1.解压tomcat压缩包 tar -zxvf apache-tomcat 2.启动tomcat 进入bin目录下 ./catalina.sh run  (startup.sh不会显示日志信息) 3. ...

  6. 0.3:Before We Start

    文章著作权归作者所有.转载请联系作者,并在文中注明出处,给出原文链接. 本系列原更新于作者的github博客,这里给出链接. 需要做的准备 首先肯定是需要安装Unity,我这里选择的版本是Unity ...

  7. eclipse的springboot插件

    eclipse的springboot插件官网下载地址还喜欢捉迷藏,正确的下载路径修改方法: 点击zip,然后复制出官网路径如下 http://download.springsource.com/rel ...

  8. Learning-Python【6】:Python数据类型(2)—— 列表、元组

    一.列表类型 1.用途:记录多值,比如人的多个爱好 2.定义方式:在[ ]内用逗号分隔开多个任意类型的值 li = [1, 2, 3] 3.常用操作+内置方法 优先掌握的操作: 1)按索引存取值:可以 ...

  9. 【HNOI 2018】道路

    Problem Description \(W\) 国的交通呈一棵树的形状.\(W\) 国一共有\(n - 1\)个城市和\(n\)个乡村,其中城市从\(1\)到\(n - 1\) 编号,乡村从\(1 ...

  10. 全面解读第四代基因测序技术Oxford Nanopore--转载

    纳米孔测序技术(又称第四代测序技术)是最近几年兴起的新一代测序技术.目前测序长度可以达到150kb.这项技术开始于90年代,经历了三个主要的技术革新:一.单分子DNA从纳米孔通过:二.纳米孔上的酶对于 ...