#include <iostream>//O(NlogN)
#include <queue>
#include<algorithm>
using namespace std;
priority_queue<int,vector<int>,greater<int>>pq;
int n,ans;
struct node{
int s,e;
bool operator<(node b){
return s<b.s;
}
}a[10005];
int main() {
cin>>n;
for(int i=0;i<n;i++){
scanf("%d %d",&a[i].s,&a[i].e);
}
sort(a,a+n);
for(int i=0;i<n;i++){
while(!pq.empty()&&pq.top()<=a[i].s){
pq.pop();
}
pq.push(a[i].e);
int t=pq.size();
ans=max(ans,t);
}
cout<<ans;
}
第2题【算法讲解027【必备】堆结构常见题】 https://www.bilibili.com/video/BV1Gm4y1p7UE/?share_source=copy_web&vd_source=5065fa61022691e8df35c771a30e6d29

京公网安备 11010502036488号