题目1088:剩下的树(小端快排+大端判断边界)
http://ac.jobdu.com/problem.php?pid=1088
题目描述:
有一个长度为整数L(1<=L<=10000)的马路,可以想象成数轴上长度为L的一个线段,起点是坐标原点,在每个整数坐标点有一棵树,即在0,1,2,...,L共L+1个位置上有L+1棵树。 现在要移走一些树,移走的树的区间用一对数字表示,如 100 200表示移走从100到200之间(包括端点)所有的树。 可能有M(1<=M<=100)个区间,区间之间可能有重叠。现在要求移走所有区间的树之后剩下的树的个数。
- 输入:
-
两个整数L(1<=L<=10000)和M(1<=M<=100)。 接下来有M组整数,每组有一对数字。
- 输出:
-
可能有多组输入数据,对于每组输入数据,输出一个数,表示移走所有区间的树之后剩下的树的个数。
- 样例输入:
-
500 3 100 200 150 300 470 471
- 样例输出:
-
298
# include<iostream> using namespace std;# include<algorithm>struct Node {int s;int e; };bool cmp(Node a, Node b) {return a.s < b.s; }int main() {int l, m;Node a[101];int i, k;while (cin >> l >> m){for (i = 1; i <= m; i++){cin >> a[i].s >> a[i].e;}sort(a + 1, a + 1 + m, cmp);k = -1;for (i = 1; i <= m; i++){if (a[i].e <= k){//donothing }else if (a[i].s <= k){l -= (a[i].e - k);k = a[i].e;}else{l -= (a[i].e - a[i].s +1);k = a[i].e;}}cout << l + 1 << endl;}return 0; } /**************************************************************Problem: 1088User: mmcNuaa@163.comLanguage: C++Result: AcceptedTime:40 msMemory:1520 kb ****************************************************************/
View Code
转载于:https://www.cnblogs.com/mmcmmc/p/3869138.html
题目1088:剩下的树(小端快排+大端判断边界)相关推荐
- linux 是大端还是小端,详解大端模式和小端模式
七.如何进行转换 对于字数据(16位): #define BigtoLittle16(A) (( ((uint16)(A) & 0xff00) >> 8) | \ (( ( ...
- 小端模式和大端模式的区别与C++代码检测
序言:当同一台主机上的两个进程(一个由c语言编写,另一个由Java编写)通信或者两台使用不同字节序的主机之间传送数据时,若字节序不同,则发送的数据和接受的数据不一样.因此需要进行小端字节序(小端模式) ...
- 大端机与小端机介绍及其判断(C)
为什么会有大小端模式之分呢? 这是因为在计算机中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为 8 bit.但是在C 语言中除了 8 bit 的char之外,还有 16 bit 的 ...
- 九度1088——剩下的树
九度1088 题目描述: 有一个长度为整数L(1<=L<=10000)的马路,可以想象成数轴上长度为L的一个线段,起点是坐标原点,在每个整数坐标点有一棵树,即在0,1,2,-,L共L+1个 ...
- 小端模式和大端模式_计算机字节顺序(大端法和小端法)详解
首先理清一下基本的概念: 1. 大多数机器使用时的8位的块(一个字节),作为可寻址的最小单位, 2. 机器级程序将内存视为非常大的字节数组(虚拟内存),内存的每个字节都由一个唯一的数字来表示(如下X的 ...
- C语言中低位存放,C语言 大端小端存储解析以及判断方法
当我们在C语言中查看数据在内存中的存储时,我们经常会发现一个很奇怪的现象,什么现象呢? 例如下面这段代码 int main() { int i = 1; return 0; } 数据在内存中的存放方式 ...
- C语言程序设计 | 大端小端存储解析以及判断方法
当我们在C语言中查看数据在内存中的存储时,我们经常会发现一个很奇怪的现象,什么现象呢? 例如下面这段代码 int main() {int i = 1;return 0; } 数据在内存中的存放方式似乎 ...
- 小端法、大端法、网络字节转序
1.小端法(Little-Endian)就是低位字节排放在内存的低地址端即该值的起始地址,高位字节排放在内存的高地址端. 2.大端法(Big-Endian)就是高位字节排放在内存的低地址端即该值的起 ...
- matlab小端模式合并,大端方式和小端模式【YC】
大端模式和小端模式[YC] 小端:较高的有效字节存放在较高的的存储器地址,较低的有效字节存放在较低的存储器地址. 大端:较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址. 下 ...
- 大端和小端的区别和判断
1.概念 大端模式(big endian):数据的高位字节保存在内存的低地址中,而低位字节保存在内存的高地址中. 小端模式(little endian):数据的高位字节保存在内存的高地址中,而低位字节 ...
最新文章
- ES不香吗,为啥还要ClickHouse?
- 奥密克戎新毒株XE出现!传播速度快10%
- 纯c gSoap实现WebService
- Mybatis学习之单表增删改查
- C++ 11 新特性(十一)final和override
- pycharm 运行celery_Celery全面学习笔记
- python编程快速上手实践项目答案_python编程快速上手之第4章实践项目参考答案...
- 地铁建设 (Standard IO)
- HTML+Jquery实现2022跨年烟花特效,除夕最炫烟花代码,跨年怎能没有烟花
- css3获取当前时间并显示,实时获取当前时间并展示在页面上
- Linux下vim常用操作
- Python 中文文本分词(包含标点的移除)
- apache poi使用例_4.Apache POI使用详解
- UML中对关系的描述
- VBS整人代码大合集
- android 投屏原理图,什么是投屏功能,手机投屏原理介绍
- 免费分享佳能ir c3320 c3330 c3325彩色复印机中文维修手册
- qt实现涂鸦板_Qt涂鸦板程序图文详细教程
- 央行:个人征信基本实现金融信用信息广覆盖
- Ubuntu16.04+Titan Xp+Tensorflow1.3+Cuda8.0+CuDNN6