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

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

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

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

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

输入格式
第一行一个整数 N。

以后 N 行,每行两个数:Ai,Bi

,表示连环线上着火船只的起始位置和终点。

输出格式
输出着火船只的总长度。保证答案在 32 位带符号整数的表示范围内。

输入输出样例

输入 #1

3
-1 1
5 11
2 9

输出 #1

11

import java.util.*;public class Main {public static void main(String[] args) {new Main().sf();}int n = 0;long[] a = new long[20005];long x = 0, y = 0, z = 0, t = 0;List<Student> students = new ArrayList<Student>();public void sf() {Scanner in = new Scanner(System.in);n = in.nextInt();for (int i = 1; i <= n; i++) {students.add(new Student(in.nextInt(), in.nextInt()));}Collections.sort(students);int qi = students.get(0).q;int zh = students.get(0).z;for (int i = 1; i < n; i++) {if (students.get(i).q > zh) {t +=  zh - qi;qi = students.get(i).q;zh = students.get(i).z;} else {zh = Math.max(zh, students.get(i).z);}} /*  这个也可以for (Student ss : students) {if (ss.q > zh) {t += zh - qi;qi  = ss.q;zh = ss.z;} else {zh = Math.max(zh, ss.z);}} */System.out.println(t + zh - qi);}
}class Student implements Comparable<Student>{int q = 0;int z = 0;public Student(int q, int z) {// TODO Auto-generated constructor stubthis.q = q;this.z = z;}@Overridepublic int compareTo(Student o) {// TODO Auto-generated method stubreturn q - o.q;}}

以前做过一个差不多的,数据没这么大, ,方法就是每次加上可能是负数是绝对值,然后,在数组里面标记,这次这个,还是用这个方法吧,思路可以

java P1496 火烧赤壁相关推荐

  1. 洛谷P1496火烧赤壁

    P1496火烧赤壁 题目: 曹操平定北方以后,公元 208 年,率领大军南下,进攻刘表.他的人马还没有到荆州,刘表已经病死.他的儿子刘琮听到曹军声势浩大,吓破了胆,先派人求降了. 孙权任命周瑜为都督, ...

  2. 洛谷 P1496 火烧赤壁(离散化

    P1496 火烧赤壁 世界上只有一种英雄主义,就是认清了生活的本质后依然爱他. ----罗曼罗兰 通往成功的道路上有很多挫折,这正是成功的意义所在. ----yxr 记今天下午上机退化成海淀区小学二年 ...

  3. (离散化)洛谷P1496火烧赤壁

    洛谷P1496火烧赤壁 前言:首先这道题,可以用模拟过,模拟方法需要一些技巧,但是本文讲的是离散化方法,就忽略模拟法了. 算法分析1:首先,如果忽略本题的船的位置范围(本题船位置范围达到了10^9而且 ...

  4. 洛谷P1496 火烧赤壁

    链接 https://www.luogu.org/problemnew/show/P1496 大意 给定数轴上nnn个线段,求总线段长度(重合的部分只能算1次) 数据范围 n<=20000&qu ...

  5. 洛谷 P1496 火烧赤壁

    火烧赤壁 题目背景 曹操平定北方以后,公元 208 年,率领大军南下,进攻刘表.他的人马还没有到荆州,刘表已经病死.他的儿子刘琮听到曹军声势浩大,吓破了胆,先派人求降了. 孙权任命周瑜为都督,拨给他三 ...

  6. 洛谷 P1496 火烧赤壁 题解 —— 离散化

    火烧赤壁 - 洛谷 一道离散化的基础题,对蒟蒻来说是很值得一试的 题目翻译 题目花里胡哨,但问题就是在数轴上给出n个区间,统计这n个区间一共覆盖了多少个数 题目解析 本题有很多方法,这里只介绍用离散化 ...

  7. P1496 火烧赤壁

    题目背景 曹操平定北方以后,公元 208 年,率领大军南下,进攻刘表.他的人马还没有到荆州,刘表已经病死.他的儿子刘琮听到曹军声势浩大,吓破了胆,先派人求降了. 孙权任命周瑜为都督,拨给他三万水军,叫 ...

  8. P1496 火烧赤壁(离散化)

    离散化就是把大数用小数表示,需要用到时再换回大数的操作,因为数据范围很大,直接用大数肯定会T的. 这题的数据只存在大小关系,所以用C数组来存点(1,2,3,4,5,6-表示大小顺序) #include ...

  9. springboot实现SSE服务端主动向客户端推送数据,java服务端向客户端推送数据,kotlin模拟客户端向服务端推送数据

    SSE服务端推送 服务器向浏览器推送信息,除了 WebSocket,还有一种方法:Server-Sent Events(以下简称 SSE).本文介绍它的用法. 在很多业务场景中,会涉及到服务端向客户端 ...

最新文章

  1. GitLab设置中文
  2. zabbix_server的自动发现,实现批量添加主机,并链接到模板
  3. python中if语句中可用break_【第四篇】Python的if语句/for..in循环/while循环/break和continue...
  4. 操作系统Linux环境下动态分区存储管理的内存分别配回收
  5. 从手机App到网点交互请求的日志记录
  6. URLEncoder编码
  7. java 创建ssh用户秘钥,安装Java、Maven、Git,以及生成、拷贝密钥
  8. 【英语学习】【English L06】U02 Food L4 Food around the world
  9. 如何为服务器安装mysql数据库文件,如何为服务器安装mysql数据库
  10. 计算机组成原理—读写周期与半导体只读存储器
  11. Java库转oc,(java转行oc)什么是block,用java来解释oc中的block
  12. java jxl上传excel_JAVA实现上传,下载,jxl操作Excel和邮件发送
  13. linux 定时关机命令,linux 定时关机命令
  14. Vuejs vm对象详解
  15. ShuffleNet v2
  16. 深入理解JAVA中的JNDI注入
  17. 201771010112罗松《面向对象程序设计(java)》第六周学习总结
  18. 论文阅读 Graph-Based Global Reasoning Networks
  19. VMware vSphere理论
  20. Javafx 实现国际象棋游戏

热门文章

  1. 阿汤的疑惑(大数取余+质因数分解)
  2. 澎思科技茹敏:人脸识别的泛安防落地及多维数据实战应用
  3. 高等数学笔记-乐经良老师-第三章-导数和微分
  4. 【深入kotlin】 - 方法引用和属性引用
  5. python爬取股票代码_Python爬取百度股市通股票详细信息
  6. 一些有关产品设计的知识点
  7. xctf攻防世界 CRYPTO高手进阶区 sherlock
  8. android应用上网屏蔽
  9. python作中国地图背景气泡图_Excel图表中制作中国地图背景气泡图的操作方法
  10. Unity3D之跑酷地图弯曲效果