火烧赤壁 - 洛谷

一道离散化的基础题,对蒟蒻来说是很值得一试的

题目翻译

题目花里胡哨,但问题就是在数轴上给出n个区间,统计这n个区间一共覆盖了多少个数

题目解析

本题有很多方法,这里只介绍用离散化怎么快速求解。

每次输入了两个数,分别表示一个起点和一个终点。

但仔细思考,起点和终点是独立的,并不是一对一对的存在的。

所以可以同时开两个数组分别存起点和终点,然后进行排序(离散化操作)。

不过每次算的时候记得判断一下是否与前一个区间有重合不分,有的就计算减掉。

AC code (详细注释)

#include<bits/stdc++.h>
using namespace std;
long long n,ans;
long long a[2*10005];
long long b[2*10005];
int read()//快速读入
{int x = 0, f = 1; char ch = getchar();while(!isdigit(ch)) {if(ch == '-')  f = -1; ch = getchar();}while(isdigit(ch)) {x = (x << 3) + (x << 1) + ch - '0'; ch = getchar();}return x * f;
}
int main()
{cin>>n;for(int i=1;i<=n;i++) a[i]=read(),b[i]=read();sort(a+1,a+n+1);sort(b+1,b+n+1);//排序 for(int i=1;i<=n;i++)//枚举区间 {ans+=b[i]-a[i];//答案加上区间数 if(i>1)//若为第一个区间没前一个区间来判断 {if(a[i]<b[i-1]) ans-=b[i-1]-a[i];//判断是否有交集 }}cout<<ans;
}

洛谷 P1496 火烧赤壁 题解 —— 离散化相关推荐

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

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

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

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

  3. 洛谷P1496火烧赤壁

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

  4. 洛谷 P1496 火烧赤壁

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

  5. 洛谷P1496 火烧赤壁

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

  6. 洛谷P1816 忠诚 题解

    洛谷P1816 忠诚 题解 题目描述 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满意.但是由于一些人 ...

  7. 线性存储的最短平均检索时间(洛谷P1253题题解,Java语言描述)

    题目要求 P1253题目链接 分析 很像 ~洛谷P1223题题解~,也是一种类似SJF的贪心法. 排个序,由于两个不大于10000的数,乘起来还是int,就使用int属性吧. 数据量小,所以Scann ...

  8. 队列模拟约瑟夫问题(洛谷P1996题题解,Java语言描述)

    题目要求 P1996题目链接 分析 以前就研究过"约瑟夫环"问题: <单循环链表求解约瑟夫环问题(Java语言描述)> <杀人游戏~约瑟夫环(洛谷P1145题题解 ...

  9. 洛谷P2108学英语题解

    来我的博客里拥有更好的阅读体验:https://yyxi.ml/2020/07/23/luogu-p2108-xueyingyu/ 洛谷P2108学英语题解(c++) 题目描述 代码.思路 踩过的坑 ...

最新文章

  1. 二维数组的查找 java_二维数组中的查找
  2. ASP.NET MVC3 Razor视图引擎-基础语法
  3. 再谈 retain,copy,mutableCopy(官方SDK,声明NSString都用copy非retain)
  4. c语言让数组地址对齐,C语言实现比特位数组在目标空间左右居中对齐三种方式...
  5. 329. 矩阵中的最长递增路径
  6. 用代码证明自己闲的蛋疼(三)——回溯法做数独
  7. 英特尔重磅开源OpenVINO™ !附送的预训练模型是最大亮点
  8. Samba 3.0.25 颁布发表
  9. Hibernate 添加数据 二 (多对多)
  10. 小熊派开发板实践:智慧路灯沙箱实验之真实设备接入
  11. python做逻辑回归r2_利用python实现逻辑回归
  12. C# Winform添加全局快捷键(老板键)
  13. 可用性测试启发式评估十条原则介绍
  14. @Transactional什么情况才生效
  15. 爬取淘宝商品评论——2020-8月
  16. 微信小程序视频自定义进度条
  17. 计算机的物理地址怎么写,电脑物理地址怎么查
  18. 【蓝桥杯省赛真题24】Scratch哪吒飞行 少儿编程scratch蓝桥杯省赛真题讲解
  19. 家用无线路由器设置技巧
  20. 测试过程中如何分析抓包工具抓的HTTP或TCP包

热门文章

  1. 27484个汉字文件txt下载方法(Java)
  2. java版spring cloud+spring boot 社交电子商务平台(二)Eureka(服务注册和服务发现基础篇)
  3. Eureka的初理解【服务注册与发现、高可用集群、自我保护机制、与Zookeeper的比较】
  4. pstree命令的用法(查看进程树)
  5. c# 把DataTable中数据批量导入新的sqlite的db文件中
  6. Silverlight 4实现在线大头贴程序,支持打印
  7. 索尼mxf变成rsv的修复方法
  8. 使用Ftpclient上传文件时,只能创建文件不能给文件写内容,由于FTP主动模式和被动模式
  9. 第二节:Keras深度学习框架实战之手写体识别
  10. 多个随机变量运算后的均值与方差计算