1 solutions

  • 0
    @ 2025-6-21 13:37:00
    #include<bits/stdc++.h>
    using namespace std;
    const int N=1e5+10;
    struct Node{ //越早结束越好
        int l,r;
        bool operator<(const Node& W)
        {
            return r<W.r;
        }
    }range[N];
    int main()
    {
        int n;
        cin>>n;
        for(int i=1;i<=n;i++)
        {
            cin>>range[i].l>>range[i].r;
        }
        sort(range+1,range+1+n);
        int res=0,ed=-2e9;
        for(int i=1;i<=n;i++)
        {
            if(ed<range[i].l) //可以新开一个
            {
                res++;//新选一个点
                ed=range[i].r; //更新当前所选的点的坐标
            }
        }
        cout<<res;
        return 0;
    }
    • 1

    Information

    ID
    247
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    5
    Tags
    # Submissions
    9
    Accepted
    6
    Uploaded By