首先設在整個數組內可以直接到達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的更多相关文章

随机推荐

  1. IDEA 的VM Option设置加快页面的加载速度

    VM Option的设置: -Xms1024M -Xmx2048M -XX:PermSize=128M -XX:MaxPermSize=256M

  2. 构建openssl debug版

    一.简介 作为一种安全协议,openssl囊括了主要的密码算法.常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用. 参考: http://www.linuxidc ...

  3. Linux 配置文件管理

    一.简介 参考:https://robots.thoughtbot.com/rcm-for-rc-files-in-dotfiles-repos http://dotfiles.github.io/ ...

  4. java bulid path 和 WEB-INF/lib 下jar 包区别

    用Java Build Path导入包和把包复制到lib下是有区别的,它俩其实不会冲突,也没有什么关系的, Java Build Path是我们编译需要的包, 导入到lib下是程序运行时需要的包 ,  ...

  5. Android无线调试(转)

    Android无线调试——抛开USB数据线 开发Android的朋友都知道,真机调试需要把手机与PC相连,然后把应用部署到真机上进行安装和调试.长长的USB线显得很麻烦,而且如果需要USB接口与其他设 ...

  6. 抓包之网络分析器- Wiresshark

    https://www.wireshark.org/ Wireshark(前称Ethereal)是一个网络封包分析软件.网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料.Wi ...

  7. jQuery DataTables插件分页允许输入页码跳转

    背景说明 项目中使用jQuery DataTables插件来实现分页表格,但是默认的分页样式不能输入页码进行跳转,在页数非常多的时候使用很不方便,最主要的还是没有达到产品部门的设计要求,所以我需要寻找 ...

  8. 19. Fight over Fox-hunting 猎狐引发的冲突

    . Fight over Fox-hunting 猎狐引发的冲突 ① Foxes and farmers have never got on well.These small dog-like ani ...

  9. SIM900 AT来电显示开启,一些代码

    /*Note: this code is a demo for how to using gprs shield to send sms message, dial a voice call and ...

  10. 在centos7.1上安装systemd

    1.检查本地systemd的版本 [admin@localhost ~]$ systemctl --version          systemd 208   +PAM +LIBWRAP +AUDI ...