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

枚举 · 例8扩展-校门外的树:hard

登录—专业IT笔试面试备考平台_牛客网

代码区:

#include<algorithm>
#include<iostream>
#include<vector>using namespace std;
struct TREE{int left,right;
};
bool compare(const  TREE&a,const TREE& b ){if(a.left!=b.left){return a.left<b.left;}return a.right<b.right;
}
int main(){long long l,n,move_count=0;cin>>l>>n;vector<struct TREE> tree(n);for(int i=0;i<n;i++){int a,b;cin>>a>>b;struct TREE temp_tree;temp_tree.left=a;temp_tree.right=b;tree[i]=temp_tree;}//按照左端点升序排列,左端点相同,按照右端点升序排列sort(tree.begin(),tree.end(),compare);//如何判断是否存在覆盖区域int current_right=-1;for(int i=0;i<n;i++){//不存在覆盖区域,下一个区域的左端点>本次区域的右端点if(tree[i].left>current_right){move_count+=(tree[i].right-tree[i].left+1);current_right=tree[i].right;}//存在覆盖区域,只需要加上未被覆盖的部分else if(tree[i].right>current_right){move_count+=(tree[i].right-current_right);current_right=tree[i].right;}}cout<<l+1-move_count;return 0;
}

欢迎各位读者提出意见。

(菜菜奋斗小日记)

http://www.xdnf.cn/news/4614.html

相关文章:

  • 2025年APP安全攻防指南:抵御DDoS与CC攻击的实战策略
  • 神经网络—感知器、多层感知器
  • matlab实现模型预测控制
  • Qt/C++面试【速通笔记八】—Qt的事件处理机制
  • Solidity语言基础:区块链智能合约开发入门指南
  • 软件设计师教程——第一章 计算机系统知识(上)
  • tmux 入门与实用指南
  • 从零开始用 AI 编写一个复杂项目的实践方法论
  • R语言数据挖掘:从“挖井”到“淘金”
  • C31-形参与实参的区别
  • Google 发布 Gemini 2.5 Pro Preview (I/O Edition),具有增强的编程能力
  • 多模态文档检索开源方案-三大竞赛获奖方案技术链路
  • Flink SQL DataStream 融合开发模式与动态配置热加载机制实战
  • C++ STL 入门:map 键值对容器
  • Centos离线安装mysql、redis、nginx等工具缺乏层层依赖的解决方案
  • 全面解析 iTextSharp:在 .NET 中高效处理 PDF
  • 贵州安全员考试内容有哪些?
  • Python学习笔记--Django的安装和简单使用(一)
  • 【Linux网络】Socket 编程预备
  • 图像管理与人脸识别工具深度解析
  • 查看单元测试覆盖率
  • 辰鳗科技朱越洋:紧扣时代契机,全力投身能源转型战略赛道
  • maven 安装 本地 jar
  • 算法的时间复杂度
  • 手写 vue 源码 ===:自定义调度器、递归调用规避与深度代理
  • 基于大模型预测的产钳助产分娩全方位研究报告
  • 【工具教程】批量提取PDF指定内容并重命名,PDF文档根据指定识别文字改名,基于java的实现方案
  • (7)Nokov 室内光学跟踪系统
  • 玄机 第一章 应急响应-Linux日志分析
  • C#学习7_面向对象:类、方法、修饰符