贪心求解区间选点问题(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;
}
相关推荐
吃吃喝喝小朋友几秒前
JavaScript事件
开发语言·前端·javascript
ONExiaobaijs2 分钟前
Java jdk运行库合集
java·开发语言·python
wangjialelele3 分钟前
二刷C语言后,一万字整理细碎知识点
c语言·开发语言·数据结构·c++·算法·cpp
yu_anan1114 分钟前
CTC Prefix Score计算
算法·机器学习
Stardep6 分钟前
算法入门21——二分查找算法——山脉数组的峰顶索引
数据结构·算法·leetcode
mjhcsp6 分钟前
P3145 [USACO16OPEN] Splitting the Field G(题解)
开发语言·c++·算法
空空潍7 分钟前
hot100-合并区间(day14)
c++·算法·leetcode
橘颂TA8 分钟前
【剑斩OFFER】算法的暴力美学——力扣 675 题:为高尔夫比赛砍树
数据结构·算法·c·结构与算法
rit843249910 分钟前
UVE算法提取光谱特征波长的MATLAB实现与应用
开发语言·算法·matlab
是娇娇公主~10 分钟前
算法——【最大子数组和】
数据结构·c++·算法