题目链接


Solution

可以考虑 \(dp\) ,但是很显然 \((n^2)\) 降不下来.

然后考虑贪心,首先,绝对的正确的是,在同等的情况下,给后面的留更多的时间.

首先按照 \(T_2\) 排序.

然后我们维护一个大根堆 每修理一栋建筑 我们就把这栋建筑的T1值加入堆 若当前无法修理 我们判断堆顶是否比这栋建筑的T1大 如果大 取消修理堆顶,改为修理当前建筑.

Code

#include<bits/stdc++.h>
using namespace std;
const int N = 2e5+10,inf = 2e9, mod = 1e9+7;
typedef long long ll;
int n;
pair<int ,int > P[N];
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d%d",&P[i].second,&P[i].first);
int ans = 0;
ll tmp = 0;
sort(P+1,P+n+1);
priority_queue<int > q;
for(int i=1;i<=n;i++)
{
if(P[i].first>=P[i].second+tmp) q.push(P[i].second),ans++,tmp+=P[i].second;
else
{
if(q.empty()) continue;
int k = q.top();
if(k>P[i].second)
{
tmp-=k;
tmp+=P[i].second;
q.pop();
q.push(P[i].second);
}
}
}
printf("%d\n",ans);
return 0;
}

最新文章

  1. 嵌入式&amp;iOS:回调函数(C)与block(OC)回调对比
  2. 在 sublime 中运行 JavaScript 代码
  3. 关于腾讯云ubuntu服务器tomcat访问慢问题
  4. 精通Web Analytics 2.0 (2) 内容简介
  5. android开发之在activity中控制另一个activity的UI更新
  6. Oracle对索引列同时使用多个聚合函数的性能问题
  7. Windows搭建SMTP邮件服务器
  8. asp.net MVC 学习笔记
  9. test文件伪装
  10. 网络对抗技术 20165220 Exp3 免杀原理与实践
  11. 学号 20175212 《Java程序设计》第九周学习总结
  12. Hdoj 1232.畅通工程 题解
  13. js操作数组元素
  14. 变更RHEL(Red Hat Enterprise Linux 5.8)更新源使之自动更新
  15. 【AtCoder】AGC018
  16. (转)Springboot定时任务
  17. dedecms(织梦系统)如何更新手机版首页模板文件
  18. mysql故障
  19. fiddler怎么修改服务器返回参数并发送
  20. HDU 4585 Shaolin (STL)

热门文章

  1. C#装箱与拆箱的研究
  2. Oracle 函数 之 Coalesce()、greatest()、least()
  3. 线段树和zkw线段树
  4. 基础篇(2):c++顺序结构程序设计
  5. JSTree下的模糊查询算法——树结构数据层次遍历和递归分治地深入应用
  6. (SSO)单点登录原理和总结
  7. 二十二、MySQL 正则表达式
  8. Window_Bat_Scripts—检测特定网段未使用的IP地址
  9. LNMP源码安装脚本
  10. linux常用指令学习记录