[codeforces_597B] Restaurant(贪心)

题目链接

http://codeforces.com/problemset/problem/597/B

题意

输入:区间数目n、及n个区间的起止(左闭右闭)。
输出:最多不重叠的区间有多少个。

思路

贪心,最早结束优先。

其他

1 贪心就要彻底一点,多余的处理通常没用。
2 此题还涉及sort排序。

代码

#include<math.h>
#include<stdio.h>
#include<vector>
#include<algorithm>

using namespace std;

bool finishEarly(pair<int,int> &order1,pair<int,int> &order2){
    return order1.second<order2.second;
}

int main(int argc, const char * argv[]) {
    int n;
    scanf("%d",&n);
    vector<pair<int, int>> orderVec;
    
    while(n--){
        int l,r;
        scanf("%d %d",&l,&r);
        orderVec.push_back(make_pair(l, r));
    }
    
    sort(orderVec.begin(), orderVec.end(),  finishEarly);

    int cnt=0;
    int end;
    for(vector<pair<int, int>>::iterator iter=orderVec.begin();iter!=orderVec.end();iter++){
        if(iter==orderVec.begin()){
            cnt++;
            end=iter->second;
        }
        else{
            if(iter->first>end){
                cnt++;
                end=iter->second;
            }
        }
    }
    
    printf("%d",cnt);
    return 0;
}

posted on   coding_gaga  阅读(190)  评论(0编辑  收藏  举报

编辑推荐:
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
阅读排行:
· 开发的设计和重构,为开发效率服务
· 从零开始开发一个 MCP Server!
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· Ai满嘴顺口溜,想考研?浪费我几个小时
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示