1757: 火车入站

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 209  Solved: 51
[Submit][Status][Web Board]

Description

火车站人们总是在站台等待列车进站,一个站台有火车停留的时候就不能有其他火车进入,今天有n辆火车经过,已知它们进站时间Si以及出站时间Ti,进站时间到出站时间之间火车必须有一个站台给它停靠,问让所有火车都能按时停靠,至少要安排多少个站台给这些火车

Input

第一行输入一个正整数T,表示数据组数
每组数据第一行输入一个正整数n,表示火车数量(n<=10000)
接下来n行,每行输入2个正整数Si,Ti,表示第i辆火车的进站时间和出站时间(Si<Ti<1e9)

Output

每组数据输出至少需要安排多少个站台

Sample Input

1
3
1 3
3 4
4 6

Sample Output

2

因为最多20000个点,树状数组的离散化一下,维护区间,最后求点的最大值.
#include <iostream>
#include <cstring>
#include <stdio.h>
#include <stdlib.h>
#include <algorithm>
using namespace std;
const int N = 100005;
int x[N],a[N],b[N];
int c[N],n;
int lowbit(int i){return i&(-i);
}void update(int idx,int v){for(int i=idx;i<=2*n;i+=lowbit(i)){c[i]+=v;}
}
int getsum(int idx){int sum = 0;for(int i=idx;i>=1;i-=lowbit(i)){sum+=c[i];}return sum;
}
int main()
{int tcase;scanf("%d",&tcase);while(tcase--){memset(c,0,sizeof(c));scanf("%d",&n);int cnt = 1;for(int i=1;i<=n;i++){scanf("%d%d",&a[i],&b[i]);x[cnt++] = a[i];x[cnt++] = b[i];}int k = 2;sort(x+1,x+cnt);for(int i=2;i<cnt;i++){if(x[i]==x[i-1]) continue;x[k++] = x[i];}for(int i=1;i<=n;i++){int l = lower_bound(x+1,x+k,a[i])-(x);int r = lower_bound(x+1,x+k,b[i])-(x);update(l,1);update(r+1,-1);}int MAX = -1;for(int i=1;i<=2*n;i++){MAX = max(MAX,getsum(i));}printf("%d\n",MAX);}return 0;
}

贪心策略:为起点和终点排序,遇到起点的话多一个站台,遇见终点的话少一个站台。中间过程中最大的值即为结果。

#include <iostream>
#include <cstring>
#include <stdio.h>
#include <stdlib.h>
#include <algorithm>
using namespace std;
const int N = 100005;
int a[N],b[N],n;int main()
{int tcase;scanf("%d",&tcase);while(tcase--){scanf("%d",&n);for(int i=0; i<n; i++)scanf("%d%d",&a[i],&b[i]);sort(a,a+n);sort(b,b+n);int ans=0,sum=0;int j=0,i=0;while(i!=n && j!=n){if(b[j]<a[i]){sum--;j++;}else{sum++;i++;}ans=max(ans,sum);}printf("%d\n",ans);}return 0;
}

转载于:https://www.cnblogs.com/liyinggang/p/5766948.html

csu 1757(贪心或者树状数组)相关推荐

  1. CodeForces 1610H Squid Game(延迟贪心 + 构造 + 树状数组)

    problem 洛谷链接 solution 考虑重新随便钦定一个点为"根",并且强制根必须是关键点. 则所有 x−yx-yx−y 不是直系祖先-子代的要求(要求Ⅰ),即 xxx 不 ...

  2. 【2018.12.15】【考试总结】【模拟+逆序对+树状数组+贪心+multiset】爆零之旅

    这是我悲惨的接近爆零的一次考试,但是本蒟蒻不能放弃,还是要总结的QAQ 答题卡 [题目背景] 八月是个悲惨的月份.先不谈炎热的天气,对于新生来说,八月意味着军训: 而对于高二高三的同学来说,八月意味着 ...

  3. 【HDU - 6203】ping ping ping(lca+贪心思想,对lca排序,树状数组差分)

    题干: 给出一个n+1个点的树,以及p个点对,需要断开一些点,使得这p个点对路径不连通.输出应该断开的最少点数. 解题报告: 从那p个点对入手的话:首先考虑只有一对点的话,肯定是这条路径上的随便一个点 ...

  4. bzoj 1106: [POI2007]立方体大作战tet(贪心+树状数组)

    1106: [POI2007]立方体大作战tet Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 785  Solved: 574 [Submit][ ...

  5. LIS最长上升子序列详解(动态规划、贪心+二分、树状数组)

    1.摘要: 关于LIS部分,本篇博客讲一下LIS的概念定义和理解,以及求LIS的三种方法,分别是O(n^2)的DP,O(nlogn)的二分+贪心法,以及O(nlogn)的树状数组优化的DP,最后附上几 ...

  6. [队内测试Day10.12]贪心+状压+分块+树状数组

    T1 codevs2169零用钱 正解贪心. 在使用钞票最少前提下保证浪费的钱数最少 保证第一条,在还没达到规定钱数时尽可能使用大面值钞票 保证第二条,在现有钞票不满足要求前提下,尽量选面值小的放 综 ...

  7. P7408-[JOI 2021 Final]ダンジョン 3【贪心,树状数组】

    正题 题目链接:https://www.luogu.com.cn/problem/P7408 题目大意 一个有n+1n+1n+1层的地牢,从iii到i+1i+1i+1层要AiA_iAi​点能量,第ii ...

  8. 最长上升子序列(LIS)/最长不上升子序列问题算法详解+例题(树状数组/二分优化,看不懂你来打我)

    目录 最长上升子序列 一.朴素做法O(2n)O(2^n)O(2n) 二.优化做法O(nlogn)O(nlogn)O(nlogn) 三.例题引入:P1020 导弹拦截(求最长上升子序列和最长不上升子序列 ...

  9. Codeforces Round #401 (Div. 1) C(set+树状数组)

    题意: 给出一个序列,给出一个k,要求给出一个划分方案,使得连续区间内不同的数不超过k个,问划分的最少区间个数,输出时将k=1~n的答案都输出 比赛的时候想的有点偏,然后写了个nlog^2n的做法,T ...

最新文章

  1. Python 格式化输出 ( 颜色 )
  2. 最长回文子串--马拉车(?)
  3. 原生JS上传图片接收服务器端图片并且显示图片(主要描述blob类型)
  4. python38怎么用_Python基础练习实例38(数组操作)
  5. 【笔试记录】2021/3/10阿里
  6. vue-cli3项目移动设备调试访问报错WDS:Disconnected,无法自动刷新或模块热替换
  7. haproxy+keepalived实现高可用K8S集群部署
  8. Mac(不限于)中几个有内涵的工具
  9. 哈理工OJ 1926 函数式计算
  10. 2022-2028年中国电力载波通信行业市场行情动态及竞争战略分析报告
  11. Android上Excel编辑器,Excel表格编辑器下载-Excel表格编辑器appv1.1.02 最新版-腾牛安卓网...
  12. 酒店客房管理系统安排 Java项目 毕业设计项目不用愁
  13. 为什么c语言输出到文件慢,【图片】今天写几个性能测试,为什么C语言跑得这么慢呢??【c语言吧】_百度贴吧...
  14. IDEA在Mac下格式化代码快捷键
  15. 用全开源的协同OA办公平台,可以自己搭建OA啦!
  16. 采集网易云上面的MV保存方法
  17. 计算机组成原理基础知识总结
  18. 如何快速查看bili上的视频学习
  19. HTML5新特性小结
  20. 电子墨水屏(电子纸)科普篇

热门文章

  1. pmp学习资料_PMP怎样叫通过考试,拿到证书?
  2. 企业网络推广期间对于易流失用户群体企业网络推广有话说
  3. 浅析营销型网站SEO优化的四大原则!
  4. 网站优化数据分析不建议你遗落这三点
  5. android 4.2 桌面快捷方式,Android 添加桌面快捷方式操做
  6. c语言行末不要输出多余空格,新人提问:如何将输出时每行最后一个空格删除...
  7. 思科ucs-b系列服务器,思科统一计算系统UCS B系列刀片推荐
  8. cnn风格迁移_快速图像风格迁移思想在无线通信中的另类应用:算法拟合
  9. springboot 自动装配_Spring Boot 自动装配流程
  10. linux函数怎么判断文件已更改,Linux下使用md5sum查看文件及程序是否被修改