贪心求解区间选点问题(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;
}
相关推荐
油泼辣子多加1 分钟前
【信创】算法开发适配
人工智能·深度学习·算法·机器学习
JasmineWr23 分钟前
CompletableFuture相关问题
java·开发语言
零雲25 分钟前
java面试:知道java的反射机制吗
java·开发语言·面试
Jeremy爱编码25 分钟前
实现 Trie (前缀树)
开发语言·c#
Aaron158834 分钟前
AD9084和Versal RF系列具体应用案例对比分析
嵌入式硬件·算法·fpga开发·硬件架构·硬件工程·信号处理·基带工程
laocooon52385788634 分钟前
插入法排序 python
开发语言·python·算法
你的冰西瓜1 小时前
C++中的list容器详解
开发语言·c++·stl·list
wuhen_n1 小时前
LeetCode -- 1:两数之和(简单)
javascript·算法·leetcode·职场和发展
就不掉头发1 小时前
I/O复用
运维·服务器·c语言·开发语言
梦里小白龙2 小时前
JAVA 策略模式+工厂模式
java·开发语言·策略模式