jzoj1407
首先設在整個數組內可以直接到達n+1的最左邊的點點為x
則x+1-n區間都可以一次或2次到達n+1
如果某一個點i可以一次到達n+1,則其i+a[i]大於等於n+1
否則可以先跳到i再跳到n+1,需要2步
然後將右邊界r賦值為x
繼續在區間[1,r-1]找一個可以直接到達x的點y
則區間[y,r-1]中能夠直接跳到r的點需要f[r]步,否則需要f[r]+1步
以此類推
#include<bits/stdc++.h>
using namespace std;
int n,m,a[100010],f[100010],g[100010];
int main(){
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
for(int i=1;i<=n;i++){
g[i]=i+a[i];
g[i]=max(g[i-1],g[i]);
}
int r=n+1;
while(r>1){
int l=lower_bound(g+1,g+n+1,r)-g;
while(l+a[l]<r)l++;
for(int i=l;i<r;i++){
if(i+a[i]>=r)f[i]=f[r]+1;
else f[i]=f[r]+2;
}
r=l;
}
for(int i=1;i<=m;i++){
int x;
scanf("%d",&x);
printf("%d ",f[x]);
}
}
jzoj1407的更多相关文章
随机推荐
- JMeter Ant Task 生成的*.jtl打开之后request和response data是空的,怎样让其不是空的呢?
JMeter Ant Task 生成的*.jtl打开之后request和response data是空的,怎样让其不是空的呢?修改JMeter.properties,将jmeter.save.save ...
- 【原型实战】分分钟搞定Unsplash网站原型设计
网站原型设计是我们在设计网页过程中必不可少的一步,激烈的市场竞争让我们不得不对产品进行快速迭代,如何高速有效的进行原型设计成为了设计师头疼的问题.本文将以unsplash网站为实例,教大家快速搞定we ...
- css样式记忆
text-indent: 2em; //开头空两格: display : none; //隐藏元素 background:#CCC; //背景颜色 background: url(imag ...
- 使用eclipse创建android项目的时候为什么会生成两个项目
使用eclipse创建android项目的时候为什么会生成两个项目 问题描述: 使用eclipse创建一个Android项目时,发现project列表中会多创建出一个appcompat_v7项目,再创 ...
- hdu-1711(kmp算法)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 思路:kmp模板,注意用scanf,不然超时. #include<iostream> ...
- C#和MatLab的混合编程(充分利用二者的优势)
C#和MatLab的混合编程,充分利用了winform的直观显示和matlab的强大计算能力.在此以一个小例子的形式给大家讲述一下二者混合编程的实现. 一.软件的配置说明 C#版本:VS2010:Ma ...
- 61 origin授控于MATLAB
官方教程:http://www.originlab.com/forum/topic.asp?TOPIC_ID=22339 学习自白东升老师originPRO8.0教程. 我用的是origin pro2 ...
- HDU 1864 最大报销额 (DP-01背包问题)
题意:中文题,你懂得. 析:拿过题目一看,本来以为是贪心,仔细一看不是贪心,其实是一个简单的01背包问题(DP),不过这个题的坑是在处理发票上,刚开始WA了一次. 分析一下什么样的发票是不符合要求的: ...
- day15(mysql之零碎知识)
数据完整性 实体完整性 实体: 表中一行(一行记录)代替一个实体 实体完整性的作用: 标识每一行数据不重复. 约束类型: 主键约束, 唯一约束,自动增长列. 主键约束: 标识该列唯一,非空. 注: ...
- (线段树 区间合并更新)Tunnel Warfare --hdu --1540
链接: http://acm.hdu.edu.cn/showproblem.php?pid=1540 http://acm.hust.edu.cn/vjudge/contest/view.action ...