题目链接

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

转载于:https://www.cnblogs.com/Kv-Stalin/p/9762517.html

[JSOI2007]建筑抢修 (贪心)相关推荐

  1. BZOJ.1029.[JSOI2007]建筑抢修(贪心)

    题目链接 直接排序显然怎么都不行. 先按毁坏时间排序,优先修损坏早的,中途我们再改修的建筑. 枚举每个建筑x,如果能,就修:不能的话,从之前要修的建筑中找一个花时最大的need[top],如果need ...

  2. BZOJ 1029: [JSOI2007]建筑抢修 堆+贪心

    1029: [JSOI2007]建筑抢修 Description 小刚在玩JSOI提供的一个称之为"建筑抢修"的电脑游戏:经过了一场激烈的战斗,T部落消灭了所有z部落的 入侵者.但 ...

  3. BZOJ 1029: [JSOI2007]建筑抢修【贪心】

    1029: [JSOI2007]建筑抢修 Time Limit: 4 Sec Memory Limit: 162 MB Description 小刚在玩JSOI提供的一个称之为"建筑抢修&q ...

  4. P4053 [JSOI2007] 建筑抢修(反悔贪心)

    P4053 [JSOI2007] 建筑抢修https://www.luogu.com.cn/problem/P4053 #include <iostream> #include <c ...

  5. bz 1029: [JSOI2007]建筑抢修

    1029: [JSOI2007]建筑抢修 Time Limit: 4 Sec  Memory Limit: 162 MB Submit: 3104  Solved: 1392 [Submit][Sta ...

  6. 洛谷——P4053 [JSOI2007]建筑抢修

    P4053 [JSOI2007]建筑抢修 小刚在玩JSOI提供的一个称之为"建筑抢修"的电脑游戏:经过了一场激烈的战斗,T部落消灭了所有z部落的入侵者.但是T部落的基地里已经有N个 ...

  7. 牛客 [JSOI2007]建筑抢修

    牛客 [JSOI2007]建筑抢修:传送门 题目描述 小刚在玩JSOI提供的一个称之为"建筑抢修"的电脑游戏:经过了一场激烈的战斗,T部落消灭了所有z部落的入侵者.但是T部落的基地 ...

  8. Bzoj1029 [JSOI2007]建筑抢修

    Time Limit: 4 Sec  Memory Limit: 162 MB Submit: 4452  Solved: 2006 Description 小刚在玩JSOI提供的一个称之为" ...

  9. 【每日一题】【[JSOI2007]建筑抢修】

    题目描述 小刚在玩JSOI提供的一个称之为"建筑抢修"的电脑游戏:经过了一场激烈的战斗,T部落消灭了所有z部落的入侵者.但是T部落的基地里已经有N个建筑设施受到了严重的损伤,如果不 ...

最新文章

  1. 数据库 1205 Error 'Lock wait timeout exceeded; try restarting transaction' on query
  2. 北理计算机考研机试,北理工计算机2000-2010考研机试题目c语言实现.doc
  3. 比较某两个时间的时间戳相等
  4. 分享Intel的安全运营中心最佳实践
  5. UVa LA 3882 - And Then There Was One 递推,动态规划 难度: 2
  6. ARM中的ldr指令与adr、ldr伪指令之间的区别
  7. [批处理]截取for命令里面的变量%%i
  8. AUCAD自定义[2006.9.22]
  9. linux中执行历史第五个命令,Linux 快速执行历史命令,用 !编号
  10. 语音识别(3)---语音识别技术原理
  11. Go 语言“助力”恶意软件?仅 4 年基于 Go 的恶意软件数就激增 2000%!
  12. python怎么把代码做成软件_python代码能做成软件吗
  13. 使用DevExpress的PdfViewer实现PDF打开、预览、另存为、打印(附源码下载)
  14. #379 – 将ToolTip当做放大器使用(Using a Tooltip As a Magnifier)
  15. 怎么把pdf转换成excel转换器免费版
  16. window10系统onedrive无法登陆 ox8004def7
  17. 自动阅读 到底 能不能赚钱
  18. Android加密篇 MD5
  19. 立创梁山派GD32F450ZGT6--通过PCA9685控制16路舵机
  20. 基于WPF的桌面宠物开发(一) :WPF简介+环境搭建+简单界面

热门文章

  1. [bzoj1059]矩阵游戏
  2. JS window对象 Location对象 location用于获取或设置窗体的URL,并且可以用于解析URL。 语法: location.[属性|方法]...
  3. activity生命周期图
  4. Erlang 位串和二进制数据
  5. springside 4 web-init 启动
  6. C++ 学习杂谈:sizeof和sizeof(string)的问题
  7. 1106: 回文数(函数专题)
  8. 静态变量的多线程同步问题
  9. 基于supermap webgl三维楼层显隐控制思路
  10. 汕头市队赛 SRM16 T2