从1开始,跳到比当前矮的不消耗体力,否则消耗一点体力,每次询问有一个步伐限制,求每次最少耗费多少体力


#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
const int N=1e6+10;
#define int long long
int a[N],dp[N],q[N],l,r=1;
int n,m,k;
inline void in(){
cin>>n;
for(int i=1;i<=n;i++)scanf("%lld",&a[i]);
cin>>m;
}
signed main(){
in();
while(m--){
scanf("%lld",&k);
l=r=1,q[r]=1;
for(int i=2;i<=n;i++){
while(l<=r&&i-q[l]>k)l++;
if(a[q[l]]>a[i])dp[i]=dp[q[l]];
else dp[i]=dp[q[l]]+1;
while(l<=r&&(dp[q[r]]>dp[i]||(dp[q[r]]==dp[i]&&a[q[r]]<=a[i])))r--;
q[++r]=i;
}
cout<<dp[n]<<endl;
}
}

最新文章

  1. continue break 区别
  2. SQList
  3. Label控件如何根据字符串自定义大小
  4. ansible非root用户批量修改root密码
  5. NOIP2010引水入城[BFS DFS 贪心]
  6. php变量那些事:学习过程中遇到的关于php变量的有趣的问题(不断发现不断更新)
  7. uboot下 Nand flash 启动 内核与根文件系统
  8. [置顶] Array ArrayList LinkList的区别剖析
  9. Jenkins Maven打包出错异常的解决方法
  10. HTML的表单元�
  11. URL与String转换
  12. Oracle-更新字段-一张表的字段更新另一张的表的字段
  13. R︱foreach+doParallel并行+联用迭代器优化内存+并行机器学习算法
  14. Android的路接下来该怎么走?
  15. 数据结构与算法之PHP查找算法(哈希查找)
  16. win8共享文件设置 详细教程
  17. R画散点图、线型图、箱型图、直方图基本知识
  18. module.export与export的区别?
  19. 读书笔记 之java编程思想
  20. mongodb,redis,mysql的区别和具体应用场景

热门文章

  1. html5基本页面
  2. windows 2008 服务器优化:停powershell,卸载不相干软件,开启防火墙
  3. C#怎么实现文件下载功能的四种方法
  4. 使用Charles设置https代理到http以及证书安装(服务端篇)
  5. vuejs 入门
  6. 2018.3.7java 学习第二天
  7. EFK教程(3) - ElasticSearch冷热数据分离
  8. windows 10 上使用pybind11进行C++和Python代码相互调用 | Interfacing C++ and Python with pybind11 on windows 10
  9. eNSP仿真软件之配置Trunk口
  10. H3C 交换机设置本地用户和telnet远程登录配置 v7 版本