题干:

小w有m条线段,编号为1到m。

用这些线段覆盖数轴上的n个点,编号为1到n。

第i条线段覆盖数轴上的区间是L[i],R[i]。

覆盖的区间可能会有重叠,而且不保证m条线段一定能覆盖所有n个点。

现在小w不小心丢失了一条线段,请问丢失哪条线段,使数轴上没被覆盖到的点的个数尽可能少,请输出丢失的线段的编号和没被覆盖到的点的个数。如果有多条线段符合要求,请输出编号最大线段的编号(编号为1到m)。

输入描述:

第一行包括两个正整数n,m(1≤n,m≤10^5)。
接下来m行,每行包括两个正整数L[i],R[i](1≤L[i]≤R[i]≤n)。

输出描述:

输出一行,包括两个整数a b。
a表示丢失的线段的编号。
b表示丢失了第a条线段后,没被覆盖到的点的个数。

示例1

输入

复制

5 3
1 3
4 5
3 4

输出

复制

3 0

说明

若丢失第1条线段,1和2没被线段覆盖到。
若丢失第2条线段,5没被线段覆盖到。
若丢失第3条线段,所有点都被线段覆盖到了。

示例2

输入

复制

6 2
1 2
4 5

输出

复制

2 4

说明

若丢失第1条线段,1,2,3,6没被线段覆盖到。
若丢失第2条线段,3,4,5,6没被线段覆盖到。

题目大意:

给你1..n长度的总区间,外加m条线段(可能没有覆盖所有1~n的点)。问去掉哪一条线段 使得总区间未被覆盖的点最少。

输出那一条线段的编号,并且输出未被覆盖的点的个数。

解题报告:

因为是最后查询,求个差分,,,就行了。

AC代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<string>
#include<cmath>
#include<cstring>
#define ll long long
#define pb push_back
#define pm make_pair
#define fi first
#define se second
using namespace std;
const int MAX = 2e5 + 5;
int l[MAX],r[MAX];
int d[MAX];
int a[MAX];
int sum[MAX];
int main()
{int n,m;cin>>n>>m;for(int i = 1; i<=m; i++) {scanf("%d %d",l+i,r+i);d[l[i]]++;d[r[i]+1]--;}int zeros=0;for(int i = 1; i<=n; i++) {a[i] = a[i-1] + d[i];if(a[i]==0) zeros++;}for(int i = 1; i<=n; i++) {sum[i] = sum[i-1] + (a[i]==1);}int minn = 0x3f3f3f3f,id;for(int i = m; i>=1; i--) {if(sum[r[i]]-sum[l[i]-1] < minn) {id = i;minn = sum[r[i]]-sum[l[i]-1];}}printf("%d %d\n",id,minn+zeros);return 0 ;}

【牛客 - 297C】little w and Segment Coverage(差分数组,区间差分,思维,卡线段树)☆相关推荐

  1. 牛客练习赛34 - C little w and Segment Coverage(思维、树状数组)

    title: 牛客练习赛34 - C little w and Segment Coverage(思维.树状数组) date: 2018-12-15 16:36:55 tags: [树状数组,思维] ...

  2. 牛客题霸 [在转动过的有序数组中寻找目标值] C++题解/答案

    牛客题霸 [在转动过的有序数组中寻找目标值] C++题解/答案 题目描述 给出一个转动过的有序数组,你事先不知道该数组转动了多少 (例如,0 1 2 4 5 6 7可能变为4 5 6 7 0 1 2) ...

  3. 牛客题霸 [合并两个有序的数组] C++题解/答案

    牛客题霸 [合并两个有序的数组] C++题解/答案 题目描述 给出两个有序的整数数组 和 ,请将数组 合并到数组 中,变成一个有序的数组 注意: 可以假设 数组有足够的空间存放 数组的元素, 和 中初 ...

  4. E Groundhog Chasing Death(2020牛客暑期多校训练营(第九场))(思维+费马小定理+质因子分解)

    E Groundhog Chasing Death(2020牛客暑期多校训练营(第九场))(思维+费马小定理+质因子分解) 链接:https://ac.nowcoder.com/acm/contest ...

  5. little w and Segment Coverage(差分)

    链接:https://ac.nowcoder.com/acm/contest/297/C 来源:牛客网 题目描述 小w有m条线段,编号为1到m. 用这些线段覆盖数轴上的n个点,编号为1到n. 第i条线 ...

  6. 牛客小白月赛12 H 华华和月月种树 (离线dfs序+线段树)

    链接:https://ac.nowcoder.com/acm/contest/392/H 来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 131072K,其他语言2621 ...

  7. [C++] 牛客网:合并两个有序的数组

    主要是体验一下牛客网里的核心代码模式到底是怎么弄的..还有C++这个东西平常用的太少了,试一试. 以外的还体验到了sort()函数的使用. 来源:牛客网 题目链接:合并两个有序的数组 知识点:数组.双 ...

  8. 【2019牛客暑期多校训练营(第二场)- E】MAZE(线段树优化dp,dp转矩阵乘法,线段树维护矩阵乘法)

    题干: 链接:https://ac.nowcoder.com/acm/contest/882/E?&headNav=acm 来源:牛客网 Given a maze with N rows an ...

  9. 【牛客 - 551C】CSL 的密码(后缀数组,后缀自动机,随机算法)

    题干: 链接:https://ac.nowcoder.com/acm/contest/551/C 来源:牛客网 为了改变这一点,他决定重新设定一个密码.于是他随机生成了一个很长很长的字符串,并打算选择 ...

  10. 牛客小白月赛8: I. 路灯孤影(区间DP)

    链接:https://www.nowcoder.com/acm/contest/214/I 来源:牛客网 题目描述 clccle孤独地走在回家的路上,因为她已经知道可能要退役了,这时,她注意到路灯出了 ...

最新文章

  1. php dw文件上传下载,使用PHP实现文件上传
  2. JAVA的String的实现
  3. Mysql order by与limit混用陷阱
  4. 服务器无显示器,服务器无显示器 远程桌面
  5. java导出excel 科学计数法_基于Java将Excel科学计数法解析成数字
  6. python加载模型_解决python 无法加载downsample模型的问题
  7. 【AI+餐饮】人工智能进军餐饮:AI 调酒,越喝越有
  8. VMware安装ubuntu中几个问题的解决——VMware Tools
  9. 快速突破面试算法之数学运算篇
  10. 不完全遍历Csrss进程中的句柄表
  11. java抖音字符视频_代码生成抖音文字视频
  12. c语言程序漏洞分析,C语言源程序的缓冲区溢出漏洞分析及解决方案.pdf
  13. Pyton入门的歪路
  14. 积分商城系统业务逻辑思维导图_怎么开发积分商城系统_OctShop
  15. 水上乐园设备的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  16. 2020平面设计新手入门技巧
  17. 【高并发】- 指标介绍
  18. Word论文写作公式居中、编号右对齐设置
  19. 英语美文-不做有才华的穷人
  20. strcpy和strncpy的区别

热门文章

  1. [Leetcode][第1025题][JAVA][除数博弈][数学][递推]
  2. [Leetcode][JAVA][第20题][Stack][Map]
  3. 恒压板框过滤实验数据处理_高考化学实验中:那些不常见的【特殊仪器】与装置,难得的资料...
  4. c语言pwm调制方式,pwm调制原理同步调制_几种pwm调制方式介绍 - 全文
  5. mysql to mssql_MysqlToMsSql
  6. PHP伪造来源HTTP,伪造来源采集http.php
  7. 小红书笔记_小红书的沙雕笔记,害人不浅啊
  8. oracle jdbc jar包_Oracle总结之plsql编程(基础七)
  9. cat命令详解_好程序员Python培训之详解eval好与坏
  10. dropzonejs vue 使用_如何在Dropzone上手动触发上传文件事件