[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;
}


相关文章
|
1月前
|
算法 调度
光学雨量计在城市雨水管理中具有重要的应用价值
光学雨量计在城市雨水管理中具有重要的应用价值
光学雨量计在城市雨水管理中具有重要的应用价值
|
1月前
|
机器人 图形学
现代制造之3D打印技术进行零件加工
现代制造之3D打印技术进行零件加工
22 0
|
1月前
|
监控 安全 数据可视化
【智慧工地源码】智慧工地助力数字建造、智慧建造、安全建造、绿色建造
【智慧工地源码】智慧工地助力数字建造、智慧建造、安全建造、绿色建造
63 0
城市建筑通视分析 通视分析
城市建筑通视分析 通视分析
39 0
AIE初探——贵州省地形分析
AIE对标GEE,我们国人自己的遥感计算云平台。
AIE初探——贵州省地形分析
|
机器学习/深度学习 算法 计算机视觉
【无人机协同】无人飞行器协同车辆实现物资配送问题附matlab代码
【无人机协同】无人飞行器协同车辆实现物资配送问题附matlab代码