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的更多相关文章
随机推荐
- Apache Cordova vs Adobe PhoneGap: the differences and which one to use
http://www.makehybridapps.com/2014/06/09/cordova-vs-phonegap-the-differences-and-which-one-to-use/
- jmeter 常见问题汇总
文件读取中文乱码: 读取CSV文件,出现中文乱码,纠正方式如下: txt文件乱码 在用到该变量的请求上加上UTF-8 post请求 返回“ Content type 'application/x-ww ...
- PAT 1059 C语言竞赛(20)(代码+思路)
1059 C语言竞赛(20 分) C 语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛.既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽: 0.冠军将赢得一份"神秘大奖"(比如很巨 ...
- 如何将硕大笨重的git仓库拆分成灵活轻巧的模块小仓库
方法1.拆分一个子目录为独立仓库 参考链接:https://segmentfault.com/a/1190000002548731 以前是用 filter-branch 来实现,这个需求太常见了,有人 ...
- NGS的duplicate的问题
NGS的duplicate的问题 duplicate的三个问题: 一.什么是duplicate? 二.duplicate来源? 三.既然PCR将1个reads复制得到成百上千copies,那为什么 ...
- vue.js项目打包上线
最近一直坚持每个月写一个小的vue.js 开发的项目,最后开发完成后想到很久之前给别人回答的一个问题:vue的项目如何上线,当时有千奇百怪的回答,我在想,这些人都是肿了么,vue的官方都说了,这个框架 ...
- 2018.09.21 codeforces1051D. Bicolorings(线性dp)
传送门 sb线性DP. f[i][j][0/1/2/3]f[i][j][0/1/2/3]f[i][j][0/1/2/3]表示前i列j个连通块且第i列状态为00/01/10/11时的方案总数. 这个显然 ...
- Fiddler实战深入研究(二)[转载]
Fiddler实战深入研究(二) 阅读目录 Fiddler不能捕获chrome的session的设置 理解数据包统计 请求重定向(AutoResponder) Composer选项卡 Filters选 ...
- 配置 cxf-ws spring bean 文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- 【翻译】追溯“typeof null”的历史
我的翻译小站:https://www.zcfy.cc/article/the-history-of-typeof-null 翻译原文链接:http://2ality.com/2013/10/typeo ...