POJ2431 Expedition(排序+优先队列)
思路:先把加油站按升序排列。
在经过加油站时。往优先队列里增加B[i].(每经过一个加油站时,预存储一下油量)
当油箱空时:1、假设队列为空(能够理解成预存储的油量),则无法到达下一个加油站,更无法到达目的地。
2、否则就取出队列里的最大元素,来给汽车加油(贪心思想)
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
using namespace std; int n,l,p;
int t[10005];
struct Node
{
int a,b;
bool operator < (const Node e)const
{
return e.a>a;
}
}s[10005];
int B[10005];
int A[10005]; int main()
{
//freopen("d:\\test.txt","r",stdin);
cin>>n;
priority_queue<int>q;
for(int i=0;i<n;i++)
{
scanf("%d%d",&t[i],&s[i].b);
}
cin>>l>>p;
for(int i=0;i<n;i++)
{
s[i].a=l-t[i];
}
sort(s,s+n);
for(int i=0;i<n;i++)
{
A[i]=s[i].a;
B[i]=s[i].b;
}
A[n]=l;B[n]=0;
int pos=0,fuil=p,ans=0;
for(int i=0;i<=n;i++)
{
int d=A[i]-pos;
while(fuil<d)
{
if(q.empty()) {cout<<"-1";return 0;}
fuil+=q.top();
q.pop();
ans++;
}
fuil-=d;
pos=A[i];
q.push(B[i]);
}
cout<<ans<<endl;
return 0;
}
POJ2431 Expedition(排序+优先队列)的更多相关文章
- HDU 4857 拓扑排序 优先队列
n个数,已经有大小关系,现给m个约束,规定a在b之前,剩下的数要尽可能往前移.输出序列 大小关系显然使用拓扑结构,关键在于n个数本身就有大小关系,那么考虑反向建图,优先选择值最大的入度为零的点,这样得 ...
- 2016"百度之星" - 初赛(Astar Round2A)HDU 5695 拓扑排序+优先队列
Gym Class Time Limit: 6000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total S ...
- HDU-4857-逃生-反向拓扑排序+优先队列
HDU-4857 题意就是做一个符合条件的排序,用到拓扑序列. 我一开始wa了多发,才发现有几个样例过不了,发现1->2->3...的顺序无法保证. 后来就想用并查集强连,还是wa: 后来 ...
- poj2431 Expedition优先队列
Description A group of cows grabbed a truck and ventured on an expedition deep into the jungle. Bein ...
- 【POJ - 2431】Expedition(优先队列)
Expedition 直接中文 Descriptions 一群奶牛抓起一辆卡车,冒险进入丛林深处的探险队.作为相当差的司机,不幸的是,奶牛设法跑过一块岩石并刺破卡车的油箱.卡车现在每运行一个单位的距离 ...
- POJ 2431 Expedition (优先队列+贪心)
题目链接 Description A group of cows grabbed a truck and ventured on an expedition deep into the jungle. ...
- hihoCoder 1391 Countries【预处理+排序+优先队列】2016北京网络赛
题目:http://hihocoder.com/problemset/problem/1391 题目大意: A和B两个国家互射导弹,每个国家都有一个防御系统,在防御系统开启的时间内可以将到达本国的导弹 ...
- HDU 5638 拓扑排序+优先队列
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5638 题意: 给你一个DAG图,删除k条边,使得能个得到字典序尽可能小的拓扑排序 题解: 把拓扑排序 ...
- poj - 2431 Expedition (优先队列)
http://poj.org/problem?id=2431 你需要驾驶一辆卡车做一次长途旅行,但是卡车每走一单位就会消耗掉一单位的油,如果没有油就走不了,为了修复卡车,卡车需要被开到距离最近的城镇, ...
随机推荐
- 基于脚本的动画的计时控制(“requestAnimationFrame”)(转)
requestAnimationFrame 方法的支持,该方法通过在系统准备好绘制动画帧时调用该帧,从而为创建动画网页提供了一种更平滑更高效的方法.在此 API 之前,使用 setTimeout 和 ...
- Repeater的ItemDataBound 事件中e.Item.DataItem 的数据类型
1.使用DataSet和DataTable绑定数据源时 DataRowView view = (DataRowView)e.Item.DataItem; 2.DataReader绑定数据源时 Syst ...
- https加密
对称加密 客户端和服务器使用同一把钥匙,加密算法公开 非对称加密 不同钥匙,公钥加密的私钥可以打开 私钥加密的公钥可以打开 HTTPS关键: 1. 要传输的业务数据,使用对称加密. 客户端生成私钥 ...
- Swift - 36 - 结尾闭包(Trailing closure)和捕获数值(Capturing Values)的简单介绍
//: Playground - noun: a place where people can play import UIKit // 初始化一个整数数组 var arr = [1, 3, 5, 7 ...
- sql查询每门课程成绩最高的学生
给出数据库(sco)如下图: 查出每门课程成绩最高的学生 select b.id,b.kemu,b.name,b.chengji from (select kemu,max(chengji) maxc ...
- 转载,crtmpserver文件夹结构分析
1. 顶层(crtmpserver/) 下的文件夹结构 3rdparty/ : 对lua, xml进行解析的源代码文件夹 sources/ : 项目的 ...
- 【原创】用shell+ant构建apk
#!/bin/bash ######################################################################### ## $PRODVERSIO ...
- CSS强制图片大小
相信大家做网页时经常会碰到大分辨率的图片会把表格涨破以致漂亮的网页面目全非,但只要使用以下的CSS语句即可解决. 该CSS的功能是:大于600的图片自动调整为600显示. <style type ...
- scrapy1.1入门用例简介-2
写一个小的scrapy project,爬取相关网页内容并保存为.json文件 0.创建project,genspider等. 1.修改items.py,内容如下: 2.修改dmoz.py,内容如下: ...
- python中如何单独测试一个函数的作用
#!/usr/bin/python import os def get_env_varible(key): return os.getenv(key) if __name__ == '__main__ ...