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

题解:洛谷 P4053 [JSOI2007] 建筑抢修

【题目来源】

洛谷:[P4053 JSOI2007] 建筑抢修 - 洛谷

【题目描述】

小刚在玩 JSOI 提供的一个称之为“建筑抢修”的电脑游戏:经过了一场激烈的战斗,T 部落消灭了所有 Z 部落的入侵者。但是 T 部落的基地里已经有 \(N\) 个建筑设施受到了严重的损伤,如果不尽快修复的话,这些建筑设施将会完全毁坏。现在的情况是:T 部落基地里只有一个修理工人,虽然他能瞬间到达任何一个建筑,但是修复每个建筑都需要一定的时间。同时,修理工人修理完一个建筑才能修理下一个建筑,不能同时修理多个建筑。如果某个建筑在一段时间之内没有完全修理完毕,这个建筑就报废了。你的任务是帮小刚合理的制订一个修理顺序,以抢修尽可能多的建筑。

【输入】

第一行,一个整数 \(N\)

接下来 \(N\) 行,每行两个整数 \(T_1,T_2\) 描述一个建筑:修理这个建筑需要 \(T_1\) 秒,如果在 \(T_2\) 秒之内还没有修理完成,这个建筑就报废了。

【输出】

输出一个整数 \(S\),表示最多可以抢修 \(S\) 个建筑。

【输入样例】

4
100 200
200 1300
1000 1250
2000 3200

【输出样例】

3

【算法标签】

《洛谷 P4053 建筑抢修》 #贪心# #优先队列# #各省省选# #江苏# #2007#

【代码详解】

#include <bits/stdc++.h>
using namespace std;#define int long long  // 使用长整型
const int MAX_N = 150005;  // 定义最大任务数
int n;                     // 任务数量
int sum = 0;               // 当前累计修理时间
int ans = 0;               // 最多能完成的任务数// 任务结构体,包含修理时间和截止时间
struct Node 
{int a;  // 修理所需时间int b;  // 截止时间// 重载小于运算符,按截止时间排序bool operator < (Node &x) {return b < x.b;}
} t[MAX_N];  // 任务数组priority_queue<int> q;  // 大根堆,维护已选任务的修理时间signed main()
{// 输入任务数量cin >> n;// 输入每个任务的修理时间和截止时间for (int i = 1; i <= n; i++)cin >> t[i].a >> t[i].b;// 按截止时间升序排序sort(t + 1, t + n + 1);// 遍历所有任务for (int i = 1; i <= n; i++){sum += t[i].a;      // 累计修理时间q.push(t[i].a);     // 将当前任务加入堆// 如果当前累计时间不超过截止时间if (sum <= t[i].b)ans++;          // 可以完成该任务else{// 否则移除修理时间最长的任务sum -= q.top();q.pop();}}// 输出最多能完成的任务数cout << ans << endl;return 0;
}

【运行结果】

4
100 200
200 1300
1000 1250
2000 3200
3
http://www.jsqmd.com/news/394587/

相关文章:

  • 题解:洛谷 P2161 [SHOI2009] 会场预约
  • 书籍-阿尔伯特·赫尔曼《亚洲古代地理学》
  • IndicEval A Bilingual Indian Educational Evaluation Framework for Large Language Models
  • 2026年上海有实力的宠物口腔医生口碑推荐榜,猫咪牙科/牙科专科/狗狗洗牙/狗口腔溃疡诊疗,宠物口腔医生性价比高的推荐 - 品牌推荐师
  • MultiCW A Large-Scale Balanced Benchmark Dataset for Training Robust Check-Worthiness Detection Mode
  • 题解:洛谷 P3368 【模板】树状数组 2
  • 2026年安徽评价好的家教机构选哪家,大学生家教/小学家教/全托一对一/全托补习班/师范家教/家教,家教机构电话 - 品牌推荐师
  • 题解:洛谷 P3374 【模板】树状数组 1
  • 题解:洛谷 P2085 最小函数值
  • 实用指南:FreeRTOS信号量
  • 看完就会:AI论文写作软件 千笔·专业学术智能体 VS 文途AI,MBA专属神器!
  • 日程邀请类钓鱼邮件攻击深度技术解读与防范
  • 宿主系统产品定义
  • 毕业论文神器 8个AI论文写作软件测评:本科生高效写作与格式规范全攻略
  • 省心了! 降AI率网站 千笔AI VS speedai,本科生专属降重神器!
  • 照着用就行:更贴合MBA需求的AI论文软件,千笔ai写作 VS 笔捷Ai
  • 题解:洛谷 P1801 黑匣子
  • YOLO26涨点改进| AAAI 2025 | 独家首发,细节涨点改进 | 引入SADecoder尺寸感知解码器模块,了解决解码器的尺度单一性问题,识别不同尺寸目标,适用于目标检测,图像分割,图像增强
  • 直接上结论:9个AI论文网站测评!MBA毕业论文写作必备工具推荐
  • 题解:AcWing 849 Dijkstra求最短路I
  • 动态窗口算法(DWA):让机器人在迷宫中优雅前行
  • 题解:洛谷 P3378 【模板】堆
  • 生产环境用Claude Code构建AI内容创作工作流:从灵感到发布的自动化实践最佳实践与性能优化
  • 揭秘2026年航空撤离舱实力厂家,助您明智选择,靠谱的撤离舱实力厂家推荐技术领航者深度解析 - 品牌推荐师
  • 2026汽车微动开关品牌优选榜单,这些品牌值得拥有,微动开关/鼠标微动开关/小型微动开关,汽车微动开关优质厂家口碑推荐 - 品牌推荐师
  • 了解2026欧曼增压器直销厂家口碑排行,选厂不迷茫,旁通阀压力表/潍柴p10H.5增压器,增压器组件推荐排行榜单 - 品牌推荐师
  • 2026年青少年心理辅导新观察:注重口碑与专业度的机构,叛逆期教育/问题青少年/青少年厌学,青少年心理辅导中心排行 - 品牌推荐师
  • 国版“OpenClaw” 网易有道 LobsterAI宣布开源:激活Agent创新生态
  • Log4j
  • 题解:AcWing 846 树的重心