描述
曹操平定北方以后,公元208年,率领大军南下,进攻刘表。他的人马还没有到荆州,刘表已经病死。他的儿子刘琮听到曹军声势浩大,吓破了胆,先派人求降了。

孙权任命周瑜为都督,拨给他三万水军,叫他同刘备协力抵抗曹操。

隆冬的十一月,天气突然回暖,刮起了东南风。

没想到东吴船队离开北岸大约二里距离,前面十条大船突然同时起火。火借风势,风助火威。十条火船,好比十条火龙一样,闯进曹军水寨。那里的船舰,都挤在一起,又躲不开,很快地都烧起来。一眨眼工夫,已经烧成一片火海。

曹操气急败坏的把你找来,要你钻入火海把连环线上着火的船只的长度统计出来!

格式
输入格式
第一行:N
以后N行,每行两个数:Ai Bi(表示连环线上着火船只的起始位置和终点,-10^9<=Ai,Bi<=10^9)

输出格式
输出着火船只的总长度

样例1
样例输入1
3
-1 1
5 11
2 9
Copy
样例输出1
11
Copy
提示
n<=20000
如果Ai=Bi是一个点则看作没有长度

来源
huyichen
.
.
.
.
.

分析

我们先定义两个数组,记录坐标,再全部赋给一个新的数组,进行排序,就可以判断是否可用(bz判断),再通过一个find函数,找到原位置,就可以算了。


然而本程序,在洛谷会被卡两个点,要开O2才能过……

.
.
.
.
.

程序:
#include<iostream>
#include<stdio.h>
#include<algorithm>
using namespace std;
long c[40100];
int n,m;
void read(long &x)
{x=0; int f=1; char ch=getchar();while (ch<'0'||ch>'9'){if (ch=='-') f=-1; ch=getchar();}while (ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}x*=f;
}int find(long x)
{for (int i=1;i<=m;i++)if (c[i]==x) return i;
}int main()
{long ans=0,a[20100],b[20100];bool bz[40100];cin>>n;for (int i=1;i<=n;i++){read(a[i]);read(b[i]);c[++m]=a[i];c[++m]=b[i];              }sort(c+1,c+m+1);for (int i=1;i<=n;i++){a[i]=find(a[i]);b[i]=find(b[i])-1;for (int j=a[i];j<=b[i];j++)bz[j]=true;}for (int i=1;i<=m;i++)if (bz[i]) ans+=c[i+1]-c[i];cout<<ans;return 0;
}

转载于:https://www.cnblogs.com/YYC-0304/p/9499903.html

Vijos 1165-火烧赤壁相关推荐

  1. Vijos 1165 火烧赤壁

    题目 题解 C 感受 快排 scanf与printf if语句 全局变量与局部变量 结构体 代码 题目 描述 曹操平定北方以后,公元208年,率领大军南下,进攻刘表.他的人马还没有到荆州,刘表已经病死 ...

  2. Vijos p1165 火烧赤壁 离散化+单调栈

    题目链接:https://vijos.org/p/1165 题意:输入n(n <= 20,000)段线段的端点,问所有线段的长度总和为多少? input: 3 -1 1 5 11 2 9 out ...

  3. vijos 1006 晴天小猪历险记之Hill——数字三角形的终极变化

    题目链接:https://vijos.org/p/1006 数字三角形原题看这里:http://www.cnblogs.com/huashanqingzhu/p/7326837.html 背景 在很久 ...

  4. vijos 1476 旅游规划题解

    题目链接:https://vijos.org/p/1476 解:因为这一定是一棵树,所以我们多画几次图,就会发现所有的最长路径中心点都一样,且中心点把这条最长路径分成两段等长的路. 那么做法就很简单啦 ...

  5. Vijos P1848 记数问题【进制】

    描述 试计算在区间 1 到 n 的所有整数中,数字 x(0 ≤ x ≤ 9)共出现了多少次?例如,在 1 到 11 中,即在 1.2.3.4.5.6.7.8.9.10.11 中,数字 1 出现了 4 ...

  6. Vijos P1131 最小公倍数和最大公约数问题【暴力】

    最小公倍数和最大公约数问题 描述 输入二个正整数x0,y0(2≤x0≤100000,2≤y0≤1000000),求出满足下列条件的P.Q的个数. 条件:1.P.Q是正整数 2.要求P.Q以xO为最大公 ...

  7. Vijos P1103 校门外的树【线段树,模拟】

    校门外的树 描述 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米.我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置:数轴上的每个整数点,即0,1,2,--, ...

  8. |Vijos|树状数组|P1512 SuperBrother打鼹鼠

    https://vijos.org/p/1512 一个二维树状数组,注意树状数组不能出现0,把所有坐标+1即可,求子矩阵和为 sub(x2,y2) - sub(x1-1,y2) - sub(x2, y ...

  9. Vijos P1756 数字反转【进制】

    背景 noip2011 NO.1 描述 给定一个整数,请将该数各个位上数字反转得到一个新数.新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2). ...

  10. Vijos P1449 字符串还原【密码】

    背景 小K是一位蔚蓝教主的崇拜者(Orz教主er),有一天,他收到了一封匿名信,信告诉了小K由于他表现出色,得到了一次当面Orz教主的机会,但是要当面Orz教主可不那么容易,不是每个人都有资格Orz教 ...

最新文章

  1. .NET中的Command(命令)模式
  2. ZedGraph给LineChart添加数值
  3. 作业05之《6种质量属性战术》
  4. Qt Creator创建按钮
  5. 机器学习集群_机器学习中的多合一集群技术在无监督学习中应该了解
  6. hdu 1754 I Hate It(分块做法)
  7. Dagoin之modelform组件
  8. php7不解析下载,Centos7 配置apache和php,登陆web提示下载,不解析php文件
  9. [LeetCode] Spiral Matrix II
  10. mac上捕获Dock截图的方法
  11. 【matlab】syms x y 用法
  12. c语言编程定积分sinx,C语言用辛普森公式求sinx在0到π上的定积分的源程序
  13. MusicStore-1 Code First 通过非迁移实现建立数据库
  14. 林群院士:从数学谈教育
  15. IE6躲躲猫bug -IE6 Peekaboo Bug
  16. 网络异常无法连接远程服务器,《Chess Rush》网络异常进不去怎么回事 无法连接服务器解决方法...
  17. android英文参考文献,英文参考文献
  18. 高德地图实时定位显示图标和名字
  19. html5图片和两行文字垂直居中显示,何如让文字跟图片垂直居中对齐
  20. 计算机网络基础知识~简单易懂-有图有内容建议码友们点亮拇指+收藏呐~

热门文章

  1. 台湾大学林轩田机器学习基石课程学习笔记6 -- Theory of Generalization
  2. Beej网络编程指南《三》
  3. bash-shell--高级编程
  4. OpenGL高斯模糊
  5. Qt中 QString 和int,double等的转换
  6. 在windows上实现多个java jdk的共存解决办法
  7. SSO单点登录和OAuth2.0的区别和理解
  8. 线索二叉树(基于链表存储树结点)
  9. 八皇后问题 回溯法hdu2553
  10. 网站架构相关PPT、文章整理(更新于2009-7-15)