这题显然跟 区间覆盖 是一样的,而且值域在 \(1000000\) 以内,不用离散化,直接贪心求解即可。

具体地:设 \(nxt[i]\) 为从值域 \(i\) 出发,能到达最远的右端点。

一段段地跳,直到跳到终点 \(T\) 或者跳不动了。

\(Tips\):注意这里是点覆盖,而区间覆盖是边覆盖,要注意跳的细节。

#include <iostream>
using namespace std;
const int N = 1000001;
int n, m, p = 1, ans = 0, nxt[N];
int main() {
scanf("%d%d", &m, &n);
for (int i = 0, l, r; i < m; i++)
scanf("%d%d", &l, &r), nxt[l] = max(nxt[l], r);
for (int i = 1; i <= n; i++) nxt[i] = max(nxt[i], nxt[i - 1]);
while(p <= n && nxt[p] >= p) p = nxt[p] + 1, ans++;
printf("%d\n", p <= n ? -1 : ans);
return 0;
}

最新文章

  1. Matlab中的mapminmax函数学习
  2. Beta版
  3. UE4 VR GUI实现 参考(UMG AND VR)
  4. WPF入门教程系列五——Window 介绍
  5. jQuery属性选择器.attr()和.prop()两种方法
  6. C#之延迟加载
  7. LeetCode中的最大子串和问题(Maximum Subarray)
  8. python:Crypto模块的下载
  9. Vim 常用简单命令
  10. SuperMap-iServer过滤请求返回值
  11. Generative Adversarial Nets[CycleGAN]
  12. element-ui Select 清空model,页面没有清空选中项的问题
  13. 学习WPF——使用Font-Awesome图标字体(一)
  14. 力扣(LeetCode)15. 三数之和
  15. 吴恩达《AI For Everyone》_练习英语翻译_待更新
  16. movielens 时间戳是秒级别的
  17. vs2017 修改项目名称
  18. Android Ble4.0开发
  19. 【Express系列】第1篇——项目创建
  20. linux 安装配置zookeeper脚本

热门文章

  1. 谷歌Colab使用(深度学习)
  2. Vue 计算属性与方法
  3. .NET 5 带来的新特性 [MemberNotNull] 与 [MemberNotNullWhen]
  4. Annotation注解初识
  5. CVE-2017-11882利用
  6. Postman设置自动捕获传递Cookie教程
  7. 编译安装opssl
  8. ZAB
  9. ConvTranspose2d
  10. python将对象写入文件,以及从文件中读取对象