AC日记——Array Queries codeforces 797e
2024-09-29 01:30:38
思路:
分段处理;
当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 ;
}
最新文章
- MongoDB学习笔记二—Shell操作
- Swift 必备开发库 (高级篇) (转)
- WPF Datagrid删除一行
- checkbox实现互斥
- iOS学习19之OC类的扩展
- JavaScript高级程序设计笔记之面向对象
- 爬虫技术之——bloom filter(含java代码)
- 《如何将windows上的软件包或文件上传到linux服务上》
- 网口扫盲三:以太网芯片MAC和PHY的关系
- ThreadPoolExecutor原理及使用
- python - socket模块1
- Android Notification通知详细解释
- 【Telerik控件学习】-制作3D效果的柱状图(ChartView)
- API Gateway - KONG 安装与配置
- Oracle EBS SLA 详解
- kubernets controller 和 CRD的扩展
- MySQL忘记密码怎么修改密码
- L2-005. 集合相似度(STL)*
- 二、ARM处理器
- android 文本框不获取焦点的两种方式