[JSOI2007]建筑抢修

简介: [JSOI2007]建筑抢修

题目: [JSOI2007]建筑抢修 ,哈哈,我们今天来看一道贪心算法的题嘛,这是选自JSOI上的一道题,好了,我们一起来看看题意吧:

考虑到直接复制题目,或者截屏的方式不是很方便阅读,我就把直接题目链接放下面!

题目传送门: [JSOI2007]建筑抢修

思路:

这道题可以采用反悔贪心算法,具体的就看代码吧,有注释的!

我们来看看成功AC的代码吧:

#include<bits/stdc++.h>
using namespace std;
#define ll long long
int n;
struct ty{
    int t1,t2;
}a[150010];
int cmp(ty e1,ty e2){//排序方式
    return e1.t2<e2.t2;
}
priority_queue<int> q;//定义一个大根堆
ll ans=0,now=0;
int main(){
    ios::sync_with_stdio(false);
    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i].t1>>a[i].t2;
    sort(a+1,a+1+n,cmp);//按照截止时间短的方式排序
    for(int i=1;i<=n;i++){
        if(now+a[i].t1<=a[i].t2){//若加入的建筑可以修就直接修
            ans++;
            now+=a[i].t1; q.push(a[i].t1);//加上当前建筑需要修的时间,并把当前需要修的时间加入堆里
        }else{//加入的建筑不可以直接修
            if(a[i].t1<q.top()){//我们看看是否可以后悔修上一个建筑
                now-=q.top();now+=a[i].t1; q.pop();q.push(a[i].t1);
            }
        }
    }
    cout<<ans;
    return 0;
}


相关文章
|
2月前
热电材料:温差发电的绿色能源技术
【10月更文挑战第17天】温差发电技术利用热电材料将热能直接转换为电能,具有环境友好和高效的特点。本文介绍了热电材料的基础知识、温差发电的工作原理及应用案例,包括人体体温发电、海洋温差发电和工业余热利用,并展望了热电材料的未来发展。
|
传感器 数据采集 数据处理
水文、海洋测绘仪器梳理介绍-ADCP
水文、海洋测绘仪器梳理介绍-ADCP
158 0
城市建筑通视分析 通视分析
城市建筑通视分析 通视分析
50 0
|
物联网 新能源
绿色建筑真的可以帮助应对气候变化吗?
绿色建筑通过提高能源效率和促进更大的绿色和可持续社区,努力减缓气候变化的影响。
359 0
绿色建筑真的可以帮助应对气候变化吗?
|
监控 物联网 数据可视化
智慧园区-楼宇建模技巧之【建楼篇】
一、国际惯例先上图 二、有什么用?用什么搞的?花了多久? 用途 室内定位(会议室、停车位查找等)安防监控(直接定位到某个楼道的摄像头拉取视频流)各种传感器数据三维可视化 请问哪里可以买到呢(含笑半步癫2333) 我这里正好有一个。
5000 0
彩铅练习,建筑
失败的画作,谨此记录 image.png
778 0