zoukankan      html  css  js  c++  java
  • AcWing 905. 区间选点 区间贪心

    //1.将每个区间按右端点从小到大排序
    //2.从前往后依次枚举每个区间,如果当前区间中已经包含点,就直接跳过,否则,选择当前区间的右端点
    //选右端点的话,可以尽可能的包含在多个区间里
    #include <iostream>
    #include <algorithm>
    using namespace std;
    const int N = 100010;
    int n;
    struct Range {
        int l, r;
        bool operator< (const Range &W)const {
            return r < W.r;
        }
    } range[N];
    int main() {
        scanf("%d", &n);
        for (int i = 0; i < n; i ++ ) scanf("%d%d", &range[i].l, &range[i].r);
        sort(range, range + n);
        int res = 0, ed = -2e9;
        for (int i = 0; i < n; i ++ )
            if (range[i].l > ed) {
                res ++ ;
                ed = range[i].r;
            }
        printf("%d
    ", res);
        return 0;
    }
  • 相关阅读:
    位运算
    方法重载
    基本数据类型与引用数据类型参数
    带返回值方法的定义格式
    return使用
    方法的通用格式
    方法定义的格式
    google chrome developer tools
    Skolelinux
    ajax
  • 原文地址:https://www.cnblogs.com/QingyuYYYYY/p/11909461.html
Copyright © 2011-2022 走看看