题目链接:点击打开链接

贪心策略:

当车燃料没有耗尽的时候,就将沿途路过的加油站全都入队

因为这些加油站是可路过的,且车的邮箱容量无限,所以我们可以看作这些加油站随时都能给车提供油

为了使加油次数最少,每次总选择油量最多的加油站加油,此处使用优先队列

但是题目还是有坑的

1. 距离是到目的地的距离,所以需要拿出来减;

2. 不一定是严格递增的,所以还需要按距离进行排序,注意简单的O(N^2)的排序会让它跪掉;

AC代码如下(141MS)

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <queue>
using namespace std;struct fuelStop{int A, B;int operator<(const fuelStop& o)const{return A>o.A;}
};int main()
{priority_queue<int> que;int L, N, P;fuelStop stop[10005];while(cin>>N){for(int i=1;i<=N;++i)cin>>stop[i].A>>stop[i].B;cin>>L>>P;for(int i=N;i>=1;--i)stop[i].A = L-stop[i].A;sort(stop+1,stop+1+N);stop[0].A = L;stop[0].B = 0;int ans = 0, cur = 0;int i;if(N==0)    N = 1;for(i=N;i>=0;--i){int d = stop[i].A - cur;while(d>P){if(que.empty())     { i=-1; break; }else{P += que.top();que.pop();ans++;}}P -= d;cur = stop[i].A;if(i)    que.push(stop[i].B);}if(i==-1)  cout<<ans<<endl;if(i==-2)  puts("-1");while(!que.empty())  que.pop();for(int i=1;i<=N;++i)stop[i].A=stop[i].B=0;}return 0;
}

POJ 2431 Expedition(贪心+优先队列)相关推荐

  1. POJ 2431 Expedition 优先队列

    由于油箱是无限的,所以每次经过加油站都不选择加油,等到后面油不够了,再来"反悔",把前面经过的油站的油加上,尽可能选量大的,用优先队列维护. //#pragma comment(l ...

  2. Stall Reservations POJ - 3190(贪心+优先队列)

    题 这里有N只 (1 <= N <= 50,000) 挑剔的奶牛! 他们如此挑剔以致于必须在[A,B ]的时间内产奶(1 <= A <= B <= 1,000,000)当 ...

  3. poj 1456 Supermarket (贪心, 并查集)

    链接: http://poj.org/problem?id=1456 题目: Description A supermarket has a set Prod of products on sale. ...

  4. HDU 6438 网络赛 Buy and Resell(贪心 + 优先队列)题解

    思路:维护一个递增队列,如果当天的w比队首大,那么我们给收益增加 w - q.top(),这里的意思可以理解为w对总收益的贡献而不是真正获利的具体数额,这样我们就能求出最大收益.注意一下,如果w对收益 ...

  5. 1163 最高的奖励(贪心+优先队列)

    有N个任务,每个任务有一个最晚结束时间以及一个对应的奖励.在结束时间之前完成该任务,就可以获得对应的奖励.完成每一个任务所需的时间都是1个单位时间.有时候完成所有任务是不可能的,因为时间上可能会有冲突 ...

  6. 贪心+优先队列 HDOJ 5360 Hiking

    题目传送门 1 /* 2 题意:求邀请顺序使得去爬山的人最多,每个人有去的条件 3 贪心+优先队列:首先按照l和r从小到大排序,每一次将当前人数相同的被邀请者入队,那么只要能当前人数比最多人数条件小, ...

  7. 贪心(优先队列) - New Year Snowmen - CodeForces - 140C

    贪心(优先队列) - New Year Snowmen - CodeForces - 140C 题意: 给定一个长度为n的正整数序列a1,a2,...,an.给定一个长度为n的正整数序列a_1,a_2 ...

  8. CodeForces 140C New Year Snowmen (贪心+优先队列)

    题意:n个数,选三个严格下降的数为一组,求最多能选多少组,并列出每组哪些数. 题解:贪心+优先队列 最多能选多少组,那么必须贪心数量多的. 例如:1 1 2 3 4 5 如果按照数的大小排序,只能贪到 ...

  9. CF140C New Year Snowmen(贪心+优先队列)

    CF140C 贪心+优先队列 贪心策略:每次取出数量最多的三种球,合成一个答案,再把雪球数都-1再插回去,只要还剩下三种雪球就可以不断地合成 雪球数用优先队列维护 #include <bits/ ...

最新文章

  1. 早就听闻阿里开源的 Arthas 在做 Java 应用诊断上十分牛逼,没失望
  2. 在Ubuntu16.04上安装CUDA
  3. opencv_IplImage未定义的标识符解决
  4. 微信QQ聊天记录分析工具-微Q
  5. 巧妙设置yum软件库轻松解决软件包安装问题
  6. Variable W already exists, disallowed. Did you mean to set reuse=True or reuse=tf.AUTO_REUSE……
  7. Numpy中的堆叠(stack)操作
  8. VS2010中如何查看DLL的导出接口
  9. 软件测试管理的基本要素
  10. 易语言c盘搜索文件,易语言遍历搜索目录指定文件
  11. mpu6050常见问题
  12. 反向题在测试问卷信效度_问卷一定要做信度效度检验吗?如果含有多选题怎样做信度分析,请各位高手帮帮忙。...
  13. uni-app 超详细教程(一)(从菜鸟到大佬)
  14. 阿里云云数据库(RDS)的登录问题
  15. JVM (二) 垃圾回收机制概念+垃圾回收器种类
  16. 关于php中laravel框架的学习--适合菜鸟初学者
  17. emeditor文本编辑器 秘钥
  18. html设置字体facename,CRichEdit控件操作使用
  19. 职称计算机模块intern,职称计算机考试模块试题.pdf
  20. 如何判断产品的生命周期

热门文章

  1. javase能做什么项目
  2. 第一周预习:Java三大特性
  3. 英语学习(10个句子练到极致)
  4. html图片不平铺,css图片不平铺怎么设置?
  5. 【手绘漫画】图解LeetCode之x 的平方根(LeetCode 69题)
  6. 数据湖有新解!Apache Hudi 与 Apache Flink 集成
  7. k8s http/https nginx ingress (by quqi99)
  8. Buildroot编译单个模块
  9. 开源中国源码学习(六)——ButterKnife的使用
  10. 山东大学软件工程应用与实践——GMSSL开源库(一) ——WINDOWS下GMSSL的安装与编译的超详细保姆级攻略