poj2431java_POJ 2431 Expedition
练习优先队列的第一道题
题意:
一辆卡车需要行驶 $L$ 的距离, 卡车油箱里有 $P$ 单位的油 , 每行驶一单位长度耗费一单位的油, 在沿途有 $N$ 个加油站 ,第 $i$ 个加油站在距离起点 $Ai$ 的位置,可以加 $Bi$ 单位的油,假设油箱容量无限大, 最少加多少次油可以到达终点
样例:
$N = 4, L = 25, P = 10$
$A$ = {10, 14, 20, 21}
$B $= {10, 5, 2, 4}
最少加油次数:2
题解:
使用从大到校的顺序依次取出数值的优先队列,在经过加油站的时候向优先队列里加入 $Bi$, 油箱空的时候如果优先队列也是空的那么无法到达,反之取出 $que.top$, 给油箱加油
时间复杂度:$O(N*log(N))$
代码:
#include
using namespace std;
const int maxn = 1e5 + 10;
int N, L, P;
int A[maxn], B[maxn];
void solve() {
A[N] = L;
B[N] = 0;
N ++;
priority_queue que;
int ans = 0, pos = 0, tank = P;
for(int i = 0; i < N; i ++) {
int d = A[i] - pos;
while(tank - d < 0) {
if(que.empty()) {
printf("-1\n");
return ;
}
tank += que.top();
que.pop();
ans ++;
}
tank -= d;
pos = A[i];
que.push(B[i]);
}
printf("%d\n", ans);
}
int main() {
scanf("%d%d%d", &N, &L, &P);
for(int i = 0; i < N; i ++)
scanf("%d%d", &A[i], &B[i]);
solve();
return 0;
}
poj2431java_POJ 2431 Expedition相关推荐
- POJ 2431 Expedition 优先队列
由于油箱是无限的,所以每次经过加油站都不选择加油,等到后面油不够了,再来"反悔",把前面经过的油站的油加上,尽可能选量大的,用优先队列维护. //#pragma comment(l ...
- POJ 2431 Expedition(贪心+优先队列)
题目链接:点击打开链接 贪心策略: 当车燃料没有耗尽的时候,就将沿途路过的加油站全都入队 因为这些加油站是可路过的,且车的邮箱容量无限,所以我们可以看作这些加油站随时都能给车提供油 为了使加油次数最少 ...
- POJ的题目分类(两个版本)
版本一: 简单题 1000A+B Problem 1001Exponentiation 1003 Hangover 1004 Financial Management 1005 I Think I N ...
- POJ前面的题目算法思路【转】
1000 A+B Problem 送分题 49% 2005-5-7 1001 Exponentiation 高精度 85% 2005-5-7 1002 487-3279 n/a 90% 2005-5- ...
- POJ 超详细分类
POJ 各题算法 1000 A+B Problem 送分题 49% 2005-5-7 1001 Exponentiation 高精度 ...
- 【POJ No. 2431】 丛林探险 Expedition
[POJ No. 2431] 丛林探险 Expedition 北大OJ 题目地址 [题意] 一群人开着一辆卡车冒险进入丛林深处,卡车油箱坏了,每走1米就会漏1升油,他们需要到最近的城镇(距离不超过10 ...
- 2019_GDUT_新生专题V算法优化 F. Expedition POJ 2431
题目: Language: Expedition Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 31110 Accepted: ...
- 【贪心算法】poj 2431: Expedition(最优加油方法)
题目描述(传送门) Description A group of cows grabbed a truck and ventured on an expedition deep into the ju ...
- SP348 EXPEDI - Expedition(有趣的贪心,优先队列)
SP348 EXPEDI - Expedition 1 4 4 4 5 2 11 5 15 10 25 10 2 以下来自<挑战程序设计竞赛> 以及我的辣鸡程序(竟然没超时!) #incl ...
最新文章
- [HDF]hdf-4.2.6类库的使用
- LaTex 使用特殊章节符号 (§)
- Linux定时任务Crontab学习笔记
- webview与js交互
- ABAP Netweaver, Hybris Commerce和SAP 云平台的登录认证
- vue element-ui登录页面源码
- 新工科背景下的计算机类专业人才培养探讨
- python——文本简单可逆加密
- java文件怎么一行一行读,Java 读文件内容如何显示在一行上
- 【ARC083E】Bichrome Tree
- 通过 HttpClient 下载 文件
- 用蒙特卡洛仿真估计π的值
- 命令行获取本地安全策略
- 全赔你们要1200亿!知网哭穷:我们一年净赚还不到2亿
- freyja 将引入另外一项功能大幅提高服务器性能
- Hexo博客搭建教程
- 数据分析与爬虫实战视频——学习笔记(四)(糗事百科、天善智能、当当商城、sql输出)
- 本周最新文献速递20210815
- 如何设置ul中li的行距
- 目标检测评价指标:精确度mAP
热门文章
- CentOS 谢幕,Anolis OS 带来无限可能的未来
- 阿里推出“阿里云网盘”App;Linux 发布 29 周年​| 极客头条
- 自动化如何帮助全球共抗疫情?
- 如何高效地远程部署?Fabric 来支招!
- 10 倍高清不花!大麦端选座 SVG 渲染
- 如何使用 Python 构建一个“谷歌搜索”系统? | 内附代码
- ofo 退押金出新招;快手回应“弃拼多多联手阿里”;Julia 1.3 发布 | 极客头条...
- 装机量 2 亿,这款国产物联网操作系统为何是“小而美”?
- 科学家之殁,竟是区块链之过?
- A 站彻底要凉?近千万条用户数据外泄!