【贪心策略】USACO 越野跑
问题 H: 越野跑【贪心策略】
【题面】
为了能在下一次跑步比赛中有好的发挥,贝茜在一条山路上开始了她的训练。贝茜希望能在每次训练中跑得尽可能远,不过她也知道农场中的一条规定:奶牛独自进山的时间不得超过M秒(1< =M< =10,000,000)。
整条山路被贝茜划分成T个长度相同的小段(1< = T< = 100,000),并且,贝茜用S_i表示第i个小段的路况。S_i为u,f,d这3个字母之一,它们分别表示 第i个小段是上坡、平地,或是下坡。
贝茜要花U秒(1< =U< = 100)才能跑完一段上坡路,跑完一段平地的耗时是 F秒(1 < = F < = 100),跑完一段下坡路要花D秒(1 < = D < = 100)。注意,沿山路原路返回的时候,原本是上坡路的路段变成了下坡路,原本是下坡路的路段变成了上坡路。
贝茜想知道,在能按时返回农场的前提下,她最多能在这条山路上跑多远。
输入
第1行: 5个用空格隔开的整数:M,T,U,F,以及D
第2..T+1行: 第i+1行为1个字母S_i,描述了第i段山路的路况
输出
输出1个整数,为贝茜在按时回到农场的前提下,最多能跑到多远
样例输入
13 5 3 2 1
u
f
u
d
f
样例输出
3
提示
贝茜跑步的最大耗时为13秒(这么短...),她跑步的山路一共被划成5段。贝茜跑完一段上坡路的耗时为3秒,平地为2秒,下坡路为1秒。山路各段的走向如下图所示:
/ _ / \ _(让我改一下,真的看不下去误导新手!)
贝茜跑完山路的前3段,然后返回,总耗时为3 + 2 + 3 + 1 + 2 + 1 = 12秒,只比她能在外面呆的时限少1秒。如果她跑得更远,就无法按时回到农场。
【题解】
先对样例画一张草图,如右图:

用画图画的,质量不是很好但足以说明问题
已经清楚的表示了这一整幅图,
我们知道,奶牛的出发点一定是在牧场
但是题目没有说牧场在哪里,坑了一会,
最后发现,牧场就是编号为1的点。
容易发现,奶牛在牧场的时间和为0+0=0
在这里第一个加数表示去的时间,
第二个加数表示回的时间,下面也是如此;
简略的记为i=1,time[1]=0+0=0;
同理可求 i=2,time[2]=3+1=4 i=3,time[3]=5+3=8 i=4,time[4]=8+4=12
i=5,time[5]=9+7=16 i=6,time[6]=11+9=20
发现第一个加数是以去的时间累加的,第二个加数是以回来的时间累加的。
算法就出来了!
用tot1[i](1<=i<=t+1)表示第i个点去的时间;
tot2[i](1<=i<=t+1)表示第i个点回的时间;
time[i]=tot1[i]+tot2[i]; 然后扫一遍出即可
但是在比较输出的时候我们通常会采用
for i:=1 to t+1 do begin
time:=tot1[i]+tot2[i];
if time>m then
关键是方框里的输出语句怎么填?
填writeln(i-2)还是writeln(i-1)还是writeln(i) ?
注意了,我们一旦time>m 是表示这步路是不可以走的,需要减一,但是起点到起点不算走一步,所以又减一,一共减二,所以这里输出的是writeln(i-2)!
【贪心策略】USACO 越野跑的更多相关文章
- LeetCode--Best Time to Buy and Sell Stock (贪心策略 or 动态规划)
		
Best Time to Buy and Sell Stock Total Accepted: 14044 Total Submissions: 45572My Submissions Say you ...
 - poj1328 Radar Installation(贪心 策略要选好)
		
https://vjudge.net/problem/POJ-1328 贪心策略选错了恐怕就完了吧.. 一开始单纯地把island排序,然后想从左到右不断更新,其实这是错的...因为空中是个圆弧. 后 ...
 - Poj 1017 Packets(贪心策略)
		
一.题目大意: 一个工厂生产的产品用正方形的包裹打包,包裹有相同的高度h和1*1, 2*2, 3*3, 4*4, 5*5, 6*6的尺寸.这些产品经常以产品同样的高度h和6*6的尺寸包袱包装起来运送给 ...
 - The - Modcrab——使用贪心策略
		
一.题目信息 The - Modcrab 简单翻译一下:Vova有生命值h1,每次攻击值为a1,每瓶药水恢复生命值c1;Modcrab有生命值h2,每次攻击值为a2.在每个关卡开始,Vova有两种选择 ...
 - E - 不爱学习的lyb HDU - 1789(贪心策略)
		
众所周知lyb根本不学习.但是期末到了,平时不写作业的他现在有很多作业要做. CUC的老师很严格,每个老师都会给他一个DDL(deadline). 如果lyb在DDL后交作业,老师就会扣他的分. 现在 ...
 - HDU-1052(贪心策略)
		
Tian Ji -- The Horse Racing Problem Description Here is a famous story in Chinese history. "Tha ...
 - BZOJ 1029: [JSOI2007]建筑抢修【优先队列+贪心策略】
		
1029: [JSOI2007]建筑抢修 Time Limit: 4 Sec Memory Limit: 162 MBSubmit: 4810 Solved: 2160[Submit][Statu ...
 - 【贪心策略】渡河(river)
		
“假舟楫者,非能水也,而绝江河.”这句话说的是,借助渡船的人,不是会游水,却能横渡江河. 会游水的人反而不一定能顺利地横渡江河.由于江面风浪很大,他们必须潜泳渡河.这就必须用到氧气瓶.氧气瓶当然是出题 ...
 - 51nod1673 树有几多愁 - 贪心策略 + 虚树 + 状压dp
		
传送门 题目大意: 给一颗重新编号,叶子节点的值定义为他到根节点编号的最小值,求所有叶子节点值的乘积的最大值. 题目分析: 为什么我觉得这道题最难的是贪心啊..首先要想到 在一条链上,深度大的编号要小 ...
 
随机推荐
- 网络运营商名称显示&SIM名称显示
			
一 网络名称显示这部分比較复杂.Spec对这也有明白的规定,依据其优先级由高往低介绍(其优先级參考TS 22.101), 1. Enhanced Operator Name String. ...
 - 极客互联网电视不是噱头,用户体验成创维G7200核心竞争力
			
IT产业的迅猛发展带动了智能设备的崛起与繁荣,除已经高度普及的智能手机之外.智能电视.智能可穿戴设备等一大批新兴产品更是让消费者充分感受到了智能科技为生活所带来的变化.以智能电视为例,除了乐视 ...
 - [Baltic 2011]Lamp BZOJ2346
			
分析: 建图最短路,比较裸. 我们可以考虑,如果是‘\’那么,左上连右下边权为0,左下连右上边权为1,反之亦然. 卡裸spfa,加点优化能过,我就直接改成的堆优化Dijkstra 附上代码: #inc ...
 - 20155338《网络对抗》 Exp4 恶意代码分析
			
20155338<网络对抗>恶意代码分析 实验过程 1.计划任务监控 在C盘根目录下建立一个netstatlog.bat文件(先把后缀设为txt,保存好内容后记得把后缀改为bat),内容如 ...
 - Express app.listen 函数了解
			
最近一直在学习如何用原生的 Node.js 来做一个网站.在写的同时也在学习 Express 源码. 一直觉得 Express 开启服务器的方法挺有趣的,就看了一下. 在 Express 运行的时候会 ...
 - CS50.4
			
1, PDF,portable document format 便携式文档格式 2, 关于文本编辑器(文字编辑器)和文档编辑器(文字处理器),前者可用来写程序的源代码?名字挺难分辨的. *3, “-o ...
 - R绘图 第四篇:绘制箱图(ggplot2)
			
箱线图通过绘制观测数据的五数总括,即最小值.下四分位数.中位数.上四分位数以及最大值,描述了变量值的分布情况.箱线图能够显示出离群点(outlier),离群点也叫做异常值,通过箱线图能够很容易识别出数 ...
 - 阿里(蚂蚁,菜鸟)+百度+网易面经(JAVA)
			
本人综述: 本人本科和硕士均是毕业于普通的双非院校,参加过ACM竞赛,阿里面了三次全被拒了,网易收到offer. 阿里面试: 阿里的面试问的都是很基础的东西,如操作系统的简单问题,计算机网络的基本问题 ...
 - HTTP协议图--概述
			
1.计算机网络体系结构分层 2.TCP/IP 通信传输流 利用 TCP/IP 协议族进行网络通信时,会通过分层顺序与对方进行通信.发送端从应用层往下走,接收端则从链路层往上走.如下: 3.TCP/ ...
 - IOTA price analysis
			
Iota coinchart Look at the trendline drawn in red color, at the very first beginning of this month, ...