贪心求解区间选点问题(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;
}
相关推荐
呜喵王阿尔萨斯13 分钟前
git命令解析
c++·git
点云SLAM3 小时前
PyTorch 中.backward() 详解使用
人工智能·pytorch·python·深度学习·算法·机器学习·机器人
only-qi4 小时前
146. LRU 缓存
java·算法·缓存
悟能不能悟4 小时前
js闭包问题
开发语言·前端·javascript
潼心1412o4 小时前
C语言(长期更新)第15讲 指针详解(五):习题实战
c语言·开发语言
梁辰兴5 小时前
数据结构:排序
数据结构·算法·排序算法·c·插入排序·排序·交换排序
Murphy_lx5 小时前
Lambda表达式
开发语言·c++
yangpipi-5 小时前
C++并发编程-23. 线程间切分任务的方法
开发语言·c++
野犬寒鸦5 小时前
力扣hot100:搜索二维矩阵 II(常见误区与高效解法详解)(240)
java·数据结构·算法·leetcode·面试
菜鸟得菜6 小时前
leecode kadane算法 解决数组中子数组的最大和,以及环形数组连续子数组的最大和问题
数据结构·算法·leetcode