当前位置: 首页 > news >正文

反悔贪心学习笔记[浅谈]

贪心是信息学竞赛常考内容,一般来说为选择当前情况下最优情况的算法,非常好写,但部分贪心题目无法使用普通贪心解决,在这些题目中就有一类为反悔贪心。

反悔贪心经常会用到堆来为主答案,例题:
Work Scheduling G
本题很容易发现可以使用贪心来解决,具体地,我们将读入的数据按照 T 2 T2 T2 从小到大排序,然后遍历一遍,然后先把所需要的时间加到 s u m sum sum 中然后将这次所用的时间放入一个大根堆中,然后判断 s u m sum sum 是否大于当前的 T 2 T2 T2 如果小于那么直接修理建筑 a n s + + ans++ ans++,否则就体现出反悔贪心的精髓了,我们把大根堆堆顶的数删去,然后从 s u m sum sum 中减去大顶堆中的数(所需时间),因为大顶堆顶的数是最大的,所以减去后可以省下最多的时间,及之后可以修更多的建筑。

由此获得 Code

#include<bits/stdc++.h>
using namespace std;
struct node{int t1,t2;
}a[150005];
bool cmp(node x,node y)
{return x.t2<y.t2;
}
long long n,ans,sum;
priority_queue<int> q;
signed main()
{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++){sum+=a[i].t1;q.push(a[i].t1);if(sum<=a[i].t2)ans++;else{sum-=q.top();q.pop();}}cout<<ans<<"\n";return 0;
}

http://www.mrgr.cn/news/58469.html

相关文章:

  • 【标准文本可下载】T/CESA 1343-2024《蓝光光盘驱动器通用规范》解读
  • 【Jenkins】解决在Jenkins Agent节点容器内无法访问物理机的docker和docker compose的问题
  • JavaScript高级面向对象与面向过程讲解
  • docker基础使用创建固定硬盘大小为40G的虚拟机
  • pytorch模型转TensorRT介绍及实践
  • 通知服务刷新本地缓存的实现方案
  • Java多Module项目打包
  • 第一单元历年真题整理
  • Linux中查询Redis中的key和value(没有可视化工具)
  • C++常用函数定义解释
  • HBuilder X 中Vue.js基础使用->计算属性的应用(三)
  • 大数据环境下的数据清洗技术研究
  • 广告变现:2024年全球四大热门聚合广告平台
  • 什么是高存储服务器,有哪些优势,如何选择?
  • 数据挖掘:基于电力知识图谱的客户画像构建实施方案
  • 助力FP商家躲过审核机制,规避封号风险
  • 光影交织,文旅融合:开启城市新风尚
  • csdn要打开或者无法刷新内容管理,文章无法发布或者未保存成功(服务器超时)-->先保存在自己的电脑里
  • Android Navigation传递复杂参数(自定义)
  • 台达A2伺服
  • 提升海外直播画质的关键因素与解决方案
  • 国产标准数字隔离器的未来---克里雅半导体
  • vue 表单页面validate验证重置
  • leetcode-73-矩阵置零
  • 抖音抖店 API 请求获取宝贝详情数据的调用频率限制如何调整?
  • 【网路原理】——HTTP状态码和Postman使用