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

D - Many Segments 2(ABC377)

题意:给定n和m,给定n个区间li,ri,求出满足区间lr不完全包含区间liri的个数

分析:用优先队列对区间r进行排序,i表示左区间,每次找到右区间加入即可。

代码:

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define int long long
#define pii pair<int,int> 
#define all(x) x.begin(),x.end()
const int N = 1e6+100;
const ll INF = 1e18;
int s1[N],s2[N];
void solve() {      int n,m; cin>>n>>m;priority_queue<pii,vector<pii>,greater<pii>> q;//大根堆 for(int i=1;i<=n;i++) {int x,y; cin>>x>>y;q.push({y,x});}int ans=0;q.push({m+1,m+1});for(int i=1;i<=m;i++){while(!q.empty()) {pii k=q.top();// [r,l]=q.top();int r=k.first,l=k.second;if(l<i) {q.pop();continue;}if(r>i)ans+=r-i;break;}}cout<<ans<<endl;
}     signed main() {   std::ios::sync_with_stdio(false);std::cin.tie(0);int T=1; //cin>>T;while(T--) solve(); return 0;
} 

http://www.lryc.cn/news/471215.html

相关文章:

  • 数组指针和指针数组的区别
  • 【VUE点击父组件按钮,跳转到子组件】
  • Java列表排序:方法与实践
  • 哈希及其封装实现unordermap和set
  • 在 AMD GPU 上构建解码器 Transformer 模型
  • Canvas简历编辑器-选中绘制与拖拽多选交互设计
  • 简单工厂(Simple Factory)
  • ffmpeg拉流分段存储到文件-笔记
  • Java 实习工资大概是多少?——解读影响薪资的因素
  • 【Linux】万字详解:Linux文件系统与软硬链接
  • spacenavd
  • C#WPF的XAML的语法详谈和特性
  • 一篇文章讲透数据结构之二叉搜索树
  • 新手入门c++(8)
  • 新手铲屎官提问,有哪几款噪音低的宠物空气净化器推荐
  • 解决RabbitMQ脑裂问题
  • 经纬恒润AUTOSAR成功适配芯钛科技Alioth TTA8车规级芯片
  • 4、java random随机数、一维数组、二维数组
  • C++ 魔法三钥:解锁高效编程的封装、继承与多态
  • 姿态传感器(学习笔记上)
  • labelimg使用教程
  • 力扣21 : 合并两个有序链表
  • 【Spring】Spring Boot 配置文件(7)
  • 《向量数据库指南》——解锁Wikipedia文章向量的跨语言搜索秘籍
  • 【力扣 + 牛客 | SQL题 | 每日5题】牛客SQL热题204,201,215
  • 下载数据集用于图像分类并自动分为训练集和测试集方法
  • Python xlrd库介绍
  • Javascript立即执行函数
  • Linux相关概念和易错知识点(17)(文件、文件的系统调用接口、C语言标准流)
  • 三防加固工业平板国产化的现状与展望