贪心求解区间选点问题(c++实现)

cpp 复制代码
#include<iostream>
#include<algorithm>
using namespace std;
const int N=1e5+10;
struct Range{
    int l,r;
}range[N];

bool cmp(struct Range a,struct Range b){
    return a.r<b.r;
}

int main(){
    ios::sync_with_stdio(false);
    int n;
    cin>>n;
    for(int i=0;i<n;i++){
        int l,r;
        cin>>l>>r;
        range[i]={l,r};
    }
    sort(range,range+n,cmp);
    
    int res=0,ed=-2e9;
    for(int i=0;i<n;i++){
        if(ed<range[i].l){
            res++;
            ed=range[i].r;
        }
    }
    cout<<res;
}
相关推荐
fie88896 分钟前
NSCT(非下采样轮廓波变换)的分解和重建程序
算法
小鸡吃米…24 分钟前
Python 列表
开发语言·python
kaikaile199534 分钟前
基于C#实现一维码和二维码打印程序
开发语言·c#
晨晖244 分钟前
单链表逆转,c语言
c语言·数据结构·算法
我不是程序猿儿1 小时前
【C#】画图控件的FormsPlot中的Refresh功能调用消耗时间不一致缘由
开发语言·c#
rit84324991 小时前
C# Socket 聊天室(含文件传输)
服务器·开发语言·c#
kk哥88991 小时前
C++ 对象 核心介绍
java·jvm·c++
helloworddm1 小时前
WinUI3 主线程不要执行耗时操作的原因
c++
嘉琪0011 小时前
Vue3+JS 高级前端面试题
开发语言·前端·javascript
xunyan62341 小时前
面向对象(下)-接口的理解
java·开发语言