当前位置: 首页 > news >正文

AcWing907. 区间覆盖

参考的视频讲解:↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
【贪心算法08-区间问题03-区间覆盖】
每次贪心就是选择左端点里面<起始端点里面右边界最大的,这样就是保证了最少区间个数!
然后每次迭代都会更新一次起始端点st,反复运用本算法。
一定要仔细看视频讲解!!!

#include<iostream>
#include<algorithm>
#define N 100010
#define INF 2e9
using namespace std;
int n ;
struct Range{int l, r;bool operator<(const Range& r1){return l < r1.l;}
}range[N];
int main(){int st , ed;cin >> st >> ed;cin >> n;for(int i = 0 ; i < n ; ++ i){int l , r ;cin >> l >> r;range[i] = {l ,r};} sort(range,range + n);int res = 0 ;bool success = false;for(int i = 0 ; i < n ; ++ i){int j = i ,r = -2e9;while(j < n && range[j].l <= st){r = max(r , range[j].r);++ j;}if(r < st){res = -1;//如果挑出来的最大右端点小于起始端点,那么无解,返回-1break;}++res;if(r >= ed){//如果右边界已经可以超过末尾端点ed,那么求解完毕,返回ressuccess = true;break;}st = r;i = j - 1;}if (!success) res = -1;printf("%d\n", res);
}
http://www.lryc.cn/news/431939.html

相关文章:

  • Unity TMP (TextMeshPro) 更新中文字符集
  • Leetcode3259. 超级饮料的最大强化能量
  • Java题集(由入门到精通)03
  • zblog自动生成文章插件(百度AI写作配图,图文并茂)
  • 华为 HCIP-Datacom H12-821 题库 (4)
  • 使用seq_file
  • 期货赫兹量化-种群优化算法:进化策略,(μ,λ)-ES 和 (μ+λ)-ES
  • pytest实战演练
  • 7、关于LoFTR
  • 硬件工程师笔试面试知识器件篇——电感
  • 代码随想录八股训练营第三十六天| C++
  • 学习计算机网络
  • Django发送邮件
  • T7:咖啡豆识别
  • 【MATLAB】FIR滤波器的MATLAB实现
  • 【RabbitMQ之一:windows环境下安装RabbitMQ】
  • ISO26262和Aspice之间的关联
  • 对极约束及其性质 —— 公式详细推导
  • 【论文精读】SCINet-基于降采样和交互学习的时序卷积模型
  • 深度学习与大模型第1课环境搭建
  • JDK新特性
  • 数据处理与数据填充在Pandas中的应用
  • 【百日算法计划】:每日一题,见证成长(010)
  • 【WPF】WPF学习之【二】布局学习
  • KEIL中编译51程序 算法计算异常的疑问
  • pikachu文件包含漏洞靶场
  • 基于DPU与SmartNIC的K8s Service解决方案
  • SLM561A​​系列 60V 10mA到50mA线性恒流LED驱动芯片 为智能家居照明注入新活力
  • Requests库对session的支持
  • 利用深度学习实现验证码识别-2-使用Python导出ONNX模型并在Java中调用实现验证码识别