贪心求解区间选点问题(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;
}
相关推荐
l1t3 分钟前
快速加载CSV文件到数据库的工具pg_csv_loader
数据库·算法
fy zs4 分钟前
网络基础概念
linux·网络·c++
木木木一6 分钟前
Rust学习记录--C8 常用的集合
开发语言·学习·rust
C_心欲无痕7 分钟前
js - AbortController请求中止
开发语言·javascript·ecmascript
yugi98783810 分钟前
基于Matlab的晴空指数计算实现
开发语言·算法·matlab
song1502653729813 分钟前
空间站太阳能帆板电池 组件性能测试 AM0太阳光模拟器
开发语言·python
不会c嘎嘎15 分钟前
QT中的常用控件 (三)
开发语言·qt
代码方舟15 分钟前
Java企业级风控实战:对接天远多头借贷行业风险版API构建信贷评分引擎
java·开发语言
闫有尽意无琼20 分钟前
Qt局部变量“遮蔽(shadow)”成员变量导致lambda传参报错
开发语言·qt