汽车加油行驶问题专题

Expedition PCB常用Keyins说明 立即下载

Example  one:

Link:http://poj.org/problem?id=2431

Problem:

Expedition
Time Limit: 1000MS Memory Limit: 65536K
Total Submissions: 7384 Accepted: 2190

Description

A group of cows grabbed a truck and ventured on an expedition deep into the jungle. Being rather poor drivers, the cows unfortunately managed to run over a rock and puncture the truck's fuel tank. The truck now leaks one unit of fuel every unit of distance it travels. 

To repair the truck, the cows need to drive to the nearest town (no more than 1,000,000 units distant) down a long, winding road. On this road, between the town and the current location of the truck, there are N (1 <= N <= 10,000) fuel stops where the cows can stop to acquire additional fuel (1..100 units at each stop). 

The jungle is a dangerous place for humans and is especially dangerous for cows. Therefore, the cows want to make the minimum possible number of stops for fuel on the way to the town. Fortunately, the capacity of the fuel tank on their truck is so large that there is effectively no limit to the amount of fuel it can hold. The truck is currently L units away from the town and has P units of fuel (1 <= P <= 1,000,000). 

Determine the minimum number of stops needed to reach the town, or if the cows cannot reach the town at all. 

Input

* Line 1: A single integer, N 

* Lines 2..N+1: Each line contains two space-separated integers describing a fuel stop: The first integer is the distance from the town to the stop; the second is the amount of fuel available at that stop. 

* Line N+2: Two space-separated integers, L and P

Output

* Line 1: A single integer giving the minimum number of fuel stops necessary to reach the town. If it is not possible to reach the town, output -1.

Sample Input

4
4 4
5 2
11 5
15 10
25 10

Sample Output

2

Hint

INPUT DETAILS: 

The truck is 25 units away from the town; the truck has 10 units of fuel. Along the road, there are 4 fuel stops at distances 4, 5, 11, and 15 from the town (so these are initially at distances 21, 20, 14, and 10 from the truck). These fuel stops can supply up to 4, 2, 5, and 10 units of fuel, respectively. 

OUTPUT DETAILS: 

Drive 10 units, stop to acquire 10 more units of fuel, drive 4 more units, stop to acquire 5 more units of fuel, then drive to the town.

Source


Problem  solution:greedy  algorithm。

思想:贪心。就是每经过一个加油站,就把该加油站存起来,因为要求求出次数最少,所以每次加油要尽可能的多。这里用到C++中STL的优先队列实现当汽车油为0的时候,总是选择前面经过的加油站能够提供最多油的加油站进行加油,如果此时队列为空,说明无法到达下一站,输出"-1",否则加油次数加1。注意要把终点当成是最后一个加油站。

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
#include<queue>
using namespace std;
const int maxn=10011;
struct node{
	int d;
	int f;
	bool operator <(const node &a)const
	{
		return f<a.f;
	}
}stop[maxn];
priority_queue<node>Q;
bool cmp(node a,node b)
{
	return a.d<b.d;
}
int main()
{
	int i,ans,n,L,p,dd,fg;
	while(scanf("%d",&n)==1)
	{
		for(i=0;i<n;i++)
		{
			scanf("%d%d",&stop[i].d,&stop[i].f);
		}
		scanf("%d%d",&L,&p);
		for(i=0;i<n;i++)
		{
			stop[i].d=L-stop[i].d;
		}
		stop[n].d=L;
		stop[n].f=0;
		sort(stop,stop+n+1,cmp);
		ans=0;
		dd=0;
		fg=1;
		while(!Q.empty())
		Q.pop();
		for(i=0;i<=n;i++)
		{
			if(p>=stop[i].d-dd)
			{
				p-=stop[i].d-dd;
				Q.push(stop[i]);
				dd=stop[i].d;
			}
			else
			{
				while(p<stop[i].d-dd)
				{
					if(Q.empty())
					{
						ans=-1;
						fg=0;
						break;
					}
					p+=Q.top().f;
					ans++;
					Q.pop();
				}
				if(fg)
				{
				p-=stop[i].d-dd;
				dd=stop[i].d;
				Q.push(stop[i]);
			    }
			    else
			    break;
			}
		}
		printf("%d\n",ans);
	}
}


Example  one:

Link:http://poj.org/problem?id=2431

Problem:



expeditionPCB中的快捷键.pdf 立即下载

相关推荐

Expedition_PCB常用Keyins说明.pdf

Expedition_PCB常用Keyins说明.pdf

每日一题 Expedition

Expedition Description A group of cows grabbed a truck and ventured on an expedition deep into the jungle. Being rather poor drivers, the cows unfortunately managed to run over a rock and puncture the truck’s fuel tank. The truck now leaks one unit of fuel

撒浪嘿呦✨的博客 316

MATLABGUI读取文件并将路径显示在文本框中

MATLABGUI读取文件并将路径显示在文本框中

m0_50305149的博客 2649

Expedition POJ - 2431 (贪心+优先队列)

A group of cows grabbed a truck and ventured on an expedition deep into the jungle. Being rather poor drivers, the cows unfortunately managed to run over a rock and puncture the truck's fuel tank. The...

alex1997222的博客 269

【物理模拟】PBD算法详解

参考MatthiaMuller的十分钟物理(他就是PBD算法的发明者)

beidou111的博客 9499

Gemini 3.1 Flash本地部署实操:Ollama+Open WebUI零门槛运行指南

大型语言模型(LLM)本地运行是指将模型权重下载至本地设备,通过推理引擎完成离线推理的过程;其核心原理依赖量化压缩(如GGUF格式)与轻量级运行时(如Ollama)实现CPU/GPU高效加载;技术价值在于低延迟响应、数据隐私可控及免网络依赖;典型应用场景包括办公提效(邮件/周报生成)、学生学习辅助、产品原型验证等边缘AI任务;本文聚焦Gemini 3.1 Flash这一面向消费级硬件优化的轻量模型变体,结合Ollama模型管理与Open WebUI图形界面,提供从环境准备、模型拉取到流式对话的完整新手实操路

weixin_32238157的博客 490

POJ 2413 —— 贪心

Expedition Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4393   Accepted: 1405 Description A group of cows grabbed a truck and ventured on an expedition de

XMzhou的专栏 986

一文读懂:CAN总线Bus-Off的触发条件与自动恢复机制

本文详细解析CAN总线Bus-Off状态的触发条件与自动恢复机制。根据ISO 11898-1标准,当发送错误计数器(TEC)超过255时节点进入Bus-Off状态,并通过检测128次总线空闲条件实现自动恢复。文章结合实战案例,探讨硬件故障、软件配置及电磁干扰等常见触发场景,并提供快慢恢复策略与调试方法,帮助工程师快速定位并解决CAN网络故障。

rgv234567的博客 359

【STL+思维】POJ 2431 Expedition

Expedition Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 19609   Accepted: 5653 Description A group of cows grabbed a truck and ventured on an expedition

落花水面 283

ThinkBook 16p 2024 BIOS降压定频实战:从解锁CFG Lock到AC Loadline调优

高性能笔记本在满载时频繁撞上温度墙,通常源于固件层默认电压冗余过大,而系统级降压工具又受限于CFG Lock锁定。要根治问题,需要从BIOS固件层面理解电压管理机制——AC/DC Loadline参数控制着CPU在不同负载下的电压请求,通过修改这些负载线值可以安全降低电压,解锁CFG Lock后还能让XTU、ThrottleStop等软件调参工具恢复可用。这种BIOS级调优在工程实践中广泛用于改善散热、稳定频率、压降风扇噪音,尤其适用于联想ThinkBook 16p 2024与拯救者Y9000P等采用HX平

weixin_32496547的博客 386

数字信号完整性分析:眼图原理与应用指南

眼图是数字信号完整性分析中的核心工具,通过将数字信号在时间域上多次叠加形成类似人眼的图形,直观反映信号质量。其原理基于时钟恢复和波形叠加,能有效展示信号的统计特性,包括上升/下降时间、过冲/下冲等关键参数。在高速数字电路设计中,眼图分析对于评估信号完整性、调试抖动问题至关重要,广泛应用于DDR接口、高速串行链路等场景。通过合理设置示波器参数和采用均衡技术,工程师可以优化眼图表现,提升系统可靠性。本文结合DDR4内存等实际案例,详解眼图的测量方法与常见问题解决方案。

weixin_35459464的博客 343

【玩转贪心算法专题】134. 加油站【中等】

i从0开始累加rest[i],和记为curSum,一旦curSum小于零,说明[0, i]区间都不能作为起始位置,因为这个区间选择任何一个位置作为起点,到i这里都会断油,那么起始位置从i+1算起,再从0计算curSum。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你无法返回 2 号加油站,因为返程需要消耗 4 升汽油,但是你的油箱只有 3 升汽油。输入: gas = [1,2,3,4,5], cost = [3,4,5,1,2]

sadsasdsdsdasda的博客 818

别再写前端了!用Gradio 3.x + HuggingFace Spaces,5分钟把你的Python算法变成网页应用

本文介绍如何利用Gradio 3.x和HuggingFace Spaces快速将Python算法转化为网页应用,无需前端开发经验。通过5行代码和简单的Git命令,即可实现专业级Web界面部署,大幅提升算法展示效率。特别适合算法工程师和数据科学家快速分享模型成果。

weixin_33443333的博客 332

LintCode 题解 |Microsoft 面试题:Gas Station ii

题目描述 一辆汽车在一条笔直的道路上行驶,一开始有original单位的汽油。这条笔直的道路上有n个加油站,第i个加油站距离汽车出发位置的距离为distance[i]单位距离,可以给汽车加apply[i]单位汽油。汽车每行驶1单位距离会消耗1单位的汽油,假设汽车的油箱可以装无限多的汽油。目的地距离汽车出发位置的距离为target,请问汽车能否到达目的地,如果可以返回最少的加油次数,否则返回-1。 ...

littlekui74的博客 302

保姆级教程:在S32K312上配置C40驱动,实现Flash读写(基于RTD 4.4.2)

本文详细介绍了在S32K312微控制器上配置C40驱动实现Flash读写的全流程,基于RTD 4.4.2库。内容涵盖环境搭建、外设配置、Flash操作实战代码及高级应用场景,特别针对LLD驱动和FLS存储操作中的常见问题提供了解决方案,帮助开发者快速掌握嵌入式Flash存储技术。

weixin_28684757的博客 255

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

九章算法 | Microsoft 面试题:Gas Station ii

撰文 | JZ专栏 | 九章算法 题目描述 一辆汽车在一条笔直的道路上行驶,一开始有original单位的汽油。这条笔直的道路上有n个加油站,第i个加油站距离汽车出发位置的距离为distance[i]单位距离,可以给汽车加apply[i]单位汽油。汽车每行驶1单位距离会消耗1单位的汽油,假设汽车的油箱可以装无...

九章算法的博客 853

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

贪心算法几个经典例子python-Python贪心算法实例小结

本文实例讲述了Python贪心算法。分享给大家供大家参考,具体如下:1. 找零钱问题:假设只有 1 分、 2 分、五分、 1 角、二角、 五角、 1元的硬币。在超市结账 时,如果 需要找零钱, 收银员希望将最少的硬币数找给顾客。那么,给定 需要找的零钱数目,如何求得最少的硬币数呢?# -*- coding:utf-8 -*-def main():d = [0.01,0.02,0.05,0.1,0....

weixin_39743414的博客 2585

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

我在代码随想录|写代码Day28 | 贪心算法 | 1005.K次取反后最大化的数组和,134. 加油站,135. 分发糖果

🔥博客介绍`:🎥系列专栏:🎥 当前专栏:专题 : 数据结构帮助小白快速入门算法。

2303_79299383的博客 1179

Leetcode算法训练日记 | day34

Leetcode:第 1005 题 给你一个整数数组nums和一个整数k,按以下方法修改该数组:选择某个下标i并将nums[i]替换为-nums[i]。重复这个过程恰好k次。可以多次选择同一个下标i。以这种方式修改数组后,返回数组可能的最大和。 Leetcode:第 134 题 在一条环路上有n个加油站,其中第i个加油站有汽油gas[i]升。 Leetcode:第 135 题 n个孩子站成一排。给你一个整数数组ratings表示每个孩子的评分。

m0_74882777的博客 1517

贪心算法-PAT 1033 To Fill or Not to Fill

** 贪心算法典型例题01 ** With highways available, driving a car from Hangzhou to any other city is easy. But since the tank capacity of a car is limited, we have to find gas stations on the way from time to time. Different gas station may give different price. You

qianbaobao307的博客 715

正大国际中消协提新能源车四大消费投诉,涉及锁电、智能辅助和刹车等

一些二手车交易市场借机巧立名目收取“拆牌费”“解抵押手续”“交易服务费”等费用。三是骗取定金。一些不良二手车经营者以非法占有消费者钱财为目的,在消费者支付完购车定金后,人为设置障碍使得车辆无法顺利过户,并以消费者违约为由骗取消费者定金。

xxsspp0102的博客 198

汽车品牌世界杯营销策略:从赞助层级到整合营销实战解析

体育营销是品牌与消费者建立情感连接、提升全球影响力的重要手段,其核心在于通过场景嫁接实现精准触达。从原理上看,它利用大型赛事的高关注度和情感共鸣,将受众对体育精神的热爱移情至品牌,从而在信息爆炸时代高效解决品牌曝光与用户心智占领问题。这一策略的技术价值体现在多层级赞助体系(如全球合作伙伴、国家队合作、球星代言)与整合营销战役的协同,能够系统化地实现从品牌声量到销售转化的闭环。在应用场景上,汽车行业与足球世界杯的结合尤为典型,两者共享速度、激情与全球化的基因。例如,现代-起亚作为国际足联全球合作伙伴,通过官方

weixin_33843409的博客 303

蚂蚁金服投资立刻出行:共享汽车行业如何借力生态与数据破局

在出行领域,分时租赁(共享汽车)作为一种新兴的汽车使用模式,其核心是通过技术平台实现车辆的随取随用、分时计费。其运作原理依赖于物联网(IoT)技术进行车辆状态监控、智能锁车,并运用大数据算法预测需求、优化车辆调度,以提升资产利用率和用户体验。这一模式的技术价值在于,它不仅是传统租车服务的数字化升级,更是对城市交通资源的高效整合,能够缓解停车压力、补充公共交通。典型的应用场景包括短途商务出行、周末郊游、应急用车等。当前,行业正从粗放扩张转向精细化运营,而蚂蚁金服战略投资立刻出行,正是看中了其在支付场景闭环与数

weixin_30315723的博客 402

网络流24题题目列表

转载自: 会根据我个人的能力,逐渐在这个专题中给出所列出的题目的解题报告。 判题系统我使用信息工程学院的。Click Here~ 问题编号 问题名称 问题模型 转化模型 1 飞行员配对方案问题 二分图最大匹配 网络最大流       题解 2 太空飞行计划问题 最大权闭合图 网络最小割    3 最

YouthDance 7840

贪心算法(浙大机试)

一、组队刷题(先来道简单的) 某天,吴大佬准备和菜鸡Tirpitz一起组队刷题,聪明的吴大佬把题目分成了n个板块,每个板块有w[i]个题目,刷完这个板块需要消耗吴大佬m[i]的精力。吴大佬没有必要在一个板块死磕,/毕竟有咸鱼队友Tirpitz/。相反,如果他消耗m[i]%的精力时,他会解决这个专题w[i]%的题目,现在吴大佬想给聪明的你一个任务,让你计算吴大佬一共能做多少道题目?(没有a完就算成小数累加哦w/这个也算是吴大佬的贡献嘛/) 输入输出格式 输入描述: 输入由多个测试用例组成,每个测试用例是有两

weixin_51368761的博客 812

设计新一代PaaS商业模式 需要考虑哪些实效问题?

这是关于物联网PaaS商业模式转型系列文章的第三篇。 尽管首篇《为什么说PaaS(产品即服务)模式蕴含巨大商机?》是这样开头的“有人可能会问:‘咦?‘PaaS’不是代表‘平台即服务’么,怎么在这里变成‘产品即服务’啦?”,并且对这两个概念做了澄清。然而,从以上两篇文章的留言看,还是有些读者仍然把关注点落在PaaS中的“P”是指“平台(Platform)”...

weixin_33698823的博客 565
上一篇: 棋盘游戏(匈牙利算法)
下一篇: Windows Message Queue(STL优先队列)
林下的码路
博客等级 码龄12年 295粉丝 506原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林下的码路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值