[POI2005]A Journey to Mars --- 单调队列
[POI2005]A Journey to Mars
题目描述:
Byteazar 决定去火星参加一个空间站旅行.
火星的所有空间站都位于一个圆上. Byteazar 在其中一个登陆然后变开始饶圈旅行.
旅行需要耗费油料,一升油料只能跑1米,每个空间站可以补给的油料都有所不同.
Byteazar 每到一个空间站便可以把该空间站的油料全部拿走.(他的油箱是没有容量限制的) 但是如果走到某个时候突然没油了那么旅行便失败了.
Byteazar 需要决定要在哪个地方登陆使得他能顺利访问完所有的空间站后回到他当初登陆的地方.
一个细节是他登陆后可以选择两个方向中的任意一个进行旅行.
空间站个数 <= n
\(n <= 10^{6}\)
。。。。。。一开始怀疑看错了难度。。。。。。
首先处理环,倍长后断环成链即可。
能去向任何地方的条件:中途任何一个地方的油量 > 路程量
因此,维护一个长度为\(n\)的单调队列,维护油量 - 路程量的最小值,若 < 0则不行,否则可以
注意,走一圈不一定是顺时针走,逆时针走也可以。
因此要翻转序列再来一遍。
[POI2005]A Journey to Mars --- 单调队列的更多相关文章
- BZOJ1533: [POI2005]Lot-A Journey to Mars
1533: [POI2005]Lot-A Journey to Mars Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 174 Solved: 76[S ...
- bzoj1531[POI2005]Bank notes 单调队列优化dp
1531: [POI2005]Bank notes Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 559 Solved: 310[Submit][Sta ...
- Gym 100801 J. Journey to the “The World’s Start” DP+单调队列优化+二分
http://codeforces.com/gym/100801 题目大意:有从左到右有n个车站,有n-1种车票,第i种车票一次最多可以坐 i 站(1<=i<=n) 每种票有固定的价钱 ...
- 20152016-acmicpc-neerc-northern-subregional-contest J:Journey to the "The World's Start"(单调队列+DP+二分)
http://codeforces.com/gym/100801/attachments 题意:给出n-1张不同的票,票价分别为 pi,每张票每次最多可以坐 r 个站(1<=r<n),并且 ...
- Gym 100801J Journey to the "The World's Start"(二分+单调队列)
题意: 现在有1,2,3...N这N个站, 给定限定时间Limt, N-1种票的价格, 分别对应一个最远距离, 叫你选择一种票, 满足可以在规定时间到达N站台,而且价格最低 思路: 如果买距离为L ...
- BestCoder Round #89 B题---Fxx and game(单调队列)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5945 问题描述 输入描述 输出描述 输入样例 输出样例 题意:中文题,不再赘述: 思路: B ...
- 单调队列 && 斜率优化dp 专题
首先得讲一下单调队列,顾名思义,单调队列就是队列中的每个元素具有单调性,如果是单调递增队列,那么每个元素都是单调递增的,反正,亦然. 那么如何对单调队列进行操作呢? 是这样的:对于单调队列而言,队首和 ...
- FZU 1914 单调队列
题目链接:http://acm.fzu.edu.cn/problem.php?pid=1914 题意: 给出一个数列,如果它的前i(1<=i<=n)项和都是正的,那么这个数列是正的,问这个 ...
- BZOJ 1047 二维单调队列
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1047 题意:见中文题面 思路:该题是求二维的子矩阵的最大值与最小值的差值尽量小.所以可以考 ...
随机推荐
- java校验身份证号码
/** * 18位身份证校验,粗略的校验 * @author lyl * @param idCard * @return */ public static boolean is18ByteIdCard ...
- 安装JDK环境变量的配置
设置环境变量 在java中需要设置三个环境变量(1.5之后不用再设置classpath了,但是个人强烈建议继续设置以保证向下兼容问题) JDK安装完成之后我们用来设置环境变量:右击”我的电脑“,选择” ...
- python中随机数生成
1.random.random random.random()用于生成一个0到1的随机符小数: 0 <= n < 1.0 2.random.uniform random.uniform的函 ...
- Struts访问servletAPI方式
1.原理
- Linux sqlite3基本命令
简介sqlite3一款主要用于嵌入式的轻量级数据库,本文旨在为熟悉sqlite3基本命令提供技术文档. 备注:本文所有操作均在root用户下进行. 1.安装sqlite3 ubuntu下安装sqlit ...
- Android的休眠与唤醒
Android 休眠(suspend),在一个打过android补丁的内核中,state_store()函数会走另外一条路,会进入到request_suspend_state()中,这个文件在earl ...
- ftp--pureftpd1.0.46
pureftpd的新版本1.0.46安装过程与之前的相同 但是之后的配置,有些许不同 pureftpd安装过程: # cd /usr/local/src # wget # cd pure-1.0.46 ...
- Java的Timer定时器
Timer主要用于Java线程里指定时间或周期运行任务,它是线程安全的,但不提供实时性(real-time)保证. 上面提到了守护线程的概念. Java分为两种线程:用户线程和守护线程. 所谓守护线程 ...
- oracle相关命令收集-张
orcle相关命令收集 1,用管理员登陆 /as sysdba:2, 更改用户密码 alter user name identified by password: alter user exptest ...
- 三十分钟理解博弈论“纳什均衡” -- Nash Equilibrium
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术感兴趣的同学加入. 纳什均衡(或者纳什平衡),Nash ...