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

Acwing 906. 区间分组

Acwing 906. 区间分组

  • 知识点
  • 题目描述
  • 思路讲解
  • 代码展示

知识点

  1. 贪心

题目描述

在这里插入图片描述

思路讲解

这段代码是用来维护一个最小堆,以确保右边界不相交的区间被正确地保留在堆中。让我详细解释这段代码:

  1. heap.empty():这个条件检查最小堆 heap 是否为空。如果堆为空,表示还没有存储任何右边界,那么当前区间 r 的右边界 r.r 就会被直接添加到堆中。

  2. heap.top() >= r.l:这个条件检查当前堆中的最小右边界是否大于等于当前区间的左边界 r.l。如果最小右边界大于等于左边界,表示当前区间与之前的区间有重叠或相交,所以将当前区间的右边界 r.r 也加入堆中。

  3. 如果上述两个条件都不满足,那么说明当前区间 r 的左边界 r.l 大于堆中的最小右边界,这意味着当前区间与之前的区间不相交。在这种情况下,我们可以将堆顶元素(最小右边界)弹出,然后将当前区间的右边界 r.r 添加到堆中。这样做的目的是保持堆中的右边界尽量小,以便后续区间能够更容易地与之前的区间不相交。

总之,这段代码的作用是维护一个最小堆,根据区间的左右边界来判断是否需要添加新的右边界到堆中,以确保区间不相交的右边界被正确保留在堆中,从而计算最少不相交子区间的数量。这是一个贪心算法的核心部分。

代码展示

#include <iostream>
#include <algorithm>
#include <queue>using namespace std;const int N = 100010;int n;struct Range {int l, r;bool operator<(const Range &W) const {return l < W.l;}
} range[N];int main() {scanf("%d", &n);for (int i = 0; i < n; i++) {int l, r;scanf("%d%d", &l, &r);range[i] = {l, r};}sort(range, range + n);priority_queue<int, vector<int>, greater<int>> heap; // 最小堆用来存储右边界,堆顶是最小的for (int i = 0; i < n; i++) {auto r = range[i];if (heap.empty() || heap.top() >= r.l) heap.push(r.r);else {heap.pop();heap.push(r.r);}}printf("%d\n", heap.size());return 0;
}
http://www.lryc.cn/news/180633.html

相关文章:

  • 阿里云 Oss 权限控制
  • CSS详细基础(六)边框样式
  • 支持向量机SVM:从数学原理到实际应用
  • 【办公自动化】在Excel中按条件筛选数据并存入新的表(文末送书)
  • 第三章:最新版零基础学习 PYTHON 教程(第十一节 - Python 运算符—Python 中的any与all)
  • Pytorch单机多卡分布式训练
  • asp.net coremvc+efcore增删改查
  • Java基础面试,什么是面向对象,谈谈你对面向对象的理解
  • Ubuntu系统初始设置
  • 焕新古文化传承之路,AI为古彝文识别赋能
  • 毛玻璃动画交互效果
  • Audio2Face的工作原理
  • 【面试题】2023前端面试真题之JS篇
  • Mysql 分布式序列算法
  • Windows/Linux双系统卸载Ubuntu
  • asp.net core mvc 视图组件viewComponents
  • 如何保持终身学习
  • 【RV1103】RTL8723bs (SD卡形状模块)驱动开发
  • LeetCode 周赛上分之旅 #49 再探内向基环树
  • kubernetes-v1.23.3 部署 kafka_2.12-2.3.0
  • 位置编码器
  • Lua多脚本执行
  • Spirng Cloud Alibaba Nacos注册中心的使用 (环境隔离、服务分级存储模型、权重配置、临时实例与持久实例)
  • 26663-2011 大型液压安全联轴器 课堂随笔
  • ChatGPT架构师:语言大模型的多模态能力、幻觉与研究经验
  • 二、VXLAN BGP EVPN基本原理
  • Evil.js
  • 使用sqlmap的 ua注入
  • 华为云云耀云服务器L实例评测 | 实例评测使用之体验评测:华为云云耀云服务器管理、控制、访问评测
  • resultmap