797E - Array Queries

思路:

  分段处理;

  当k小于根号n时记忆化搜索;

  否则暴力;

来,上代码:

#include <cmath>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm> using namespace std; #define maxn 100005 int n,q,ai[maxn],bi[maxn][],size; inline void in(int &now)
{
char Cget=getchar();now=;
while(Cget>''||Cget<'') Cget=getchar();
while(Cget>=''&&Cget<='')
{
now=now*+Cget-'';
Cget=getchar();
}
} int dfs(int now,int k)
{
if(now>n) return ;
if(bi[now][k]) return bi[now][k];
else return bi[now][k]=dfs(now+ai[now]+k,k)+;
} int main()
{
in(n),size=sqrt(n);
for(int i=;i<=n;i++) in(ai[i]);
in(q);int p,k;
while(q--)
{
in(p),in(k);
if(k>size)
{
int res=;
while(p<=n)
{
res++;
p+=ai[p]+k;
}
printf("%d\n",res);
}
else printf("%d\n",dfs(p,k));
}
return ;
}

最新文章

  1. MongoDB学习笔记二—Shell操作
  2. Swift 必备开发库 (高级篇) (转)
  3. WPF Datagrid删除一行
  4. checkbox实现互斥
  5. iOS学习19之OC类的扩展
  6. JavaScript高级程序设计笔记之面向对象
  7. 爬虫技术之——bloom filter(含java代码)
  8. 《如何将windows上的软件包或文件上传到linux服务上》
  9. 网口扫盲三:以太网芯片MAC和PHY的关系
  10. ThreadPoolExecutor原理及使用
  11. python - socket模块1
  12. Android Notification通知详细解释
  13. 【Telerik控件学习】-制作3D效果的柱状图(ChartView)
  14. API Gateway - KONG 安装与配置
  15. Oracle EBS SLA 详解
  16. kubernets controller 和 CRD的扩展
  17. MySQL忘记密码怎么修改密码
  18. L2-005. 集合相似度(STL)*
  19. 二、ARM处理器
  20. android 文本框不获取焦点的两种方式

热门文章

  1. 顺序查找&amp;二分查找&amp;索引查找
  2. 剑指Offer - 九度1519 - 合并两个排序的链表
  3. python学习笔记十五:日期时间处理笔记
  4. Percona-Tookit工具包之pt-summary
  5. Codeforces 846D Monitor(简单二分+二维BIT)
  6. 湘潭邀请赛 2018 D Circular Coloring
  7. 让JS帮你决定午餐吃什么吧
  8. EAR、JAR、WAR(IT)
  9. oracle修改数据遇到的坑
  10. web本地存储 sessionStorage 和 localStorage