当前位置: 首页 > news >正文

在线建站哪个网站好pinterest app下载

在线建站哪个网站好,pinterest app下载,棋类游戏网站开发,网站服务器放置地查询luogu 传送门https://www.luogu.com.cn/problem/P3572 解题思路 先设 表示到 的最小劳累值。 很容易得出转移: 其中 由 和 的大小关系决定,并且 。 很显然,直接暴力是 的,会超时。 于是,考虑优化。 我们发现…

luogu 传送门icon-default.png?t=O83Ahttps://www.luogu.com.cn/problem/P3572

解题思路

先设 f(i) 表示到 i 的最小劳累值。

很容易得出转移:

f(i)=\min(f(j)/f(j)+1)

其中 f(j)/f(j)+1 由 d_i 和 d_{j} 的大小关系决定,并且 i-k\leq j <i

很显然,直接暴力是 O(n^2) 的,会超时

于是,考虑优化。

我们发现 j 是有一定的取值范围,并且我们取的是这个区间内的最小值。

也许这可以用单调队列优化

判断对头是否在范围内,如果不在即出队;

入队的时候,考虑队尾的劳累值是否大于当前的劳累值,如果大于,则队尾出队,如果队尾的劳累值等于当前的劳累值,我们可以比较谁的高度更高,保留更高的(因为更高的对后面的情况更优)。

于是,时间复杂度降为 O(nq)

代码

#include<bits/stdc++.h>
using namespace std;int n;
int d[1000001];
int qi;
int ki;
int f[1000001];
int q[1000001];
int head,tail;
int main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>n;for(int i=1;i<=n;i++){cin>>d[i];}cin>>qi;while(qi--){cin>>ki;head=1,tail=0;f[1]=0;q[++tail]=1;for(int i=2;i<=n;i++){while(head<=tail&&q[head]<i-ki)head++;if(d[i]>=d[q[head]])f[i]=f[q[head]]+1;elsef[i]=f[q[head]];while(head<=tail&&(f[q[tail]]>f[i]||(f[q[tail]]==f[i]&&d[q[tail]]<=d[i])))tail--;q[++tail]=i;} cout<<f[n]<<endl;}return 0;
}

http://www.yayakq.cn/news/275612/

相关文章:

  • 动画设计师证怎么考关键词优化的内容
  • 百度网盘网站开发文档模板怎样做废旧网站
  • 会建网站的人汽车配件网站模板
  • 十大货源网站大全做网站后台的电子文库
  • 宝山php网站开发培训网站开发管理方案
  • 公司网站如何做seo国内永久免费服务器
  • 常州网站建设套餐自己组装电脑做网站服务器
  • h5包含网站设计吗wordpress爆路径
  • 做地方特产的网站怎么在天猫注册开店铺
  • 和韩国做贸易的网站用tomcat做网站
  • 福建设厅官方网站苏州知名网站制作开发
  • 正规网站建设太原做网站 小程序
  • 唐山网站建设外包公司哪家好内蒙古生态文明建设相关网站
  • 绵阳哪里可以做网站的地方龙岩市官网
  • 地方网站欣赏保山做网站建设
  • 做 ps pr 赚钱的 网站大学生求职简历模板
  • 创意网站界面中国风网站表现
  • 看企业网站怎么做到百度秒收做网站需要域名还需要什么
  • 网站建设 搞笑笑话在哪些平台上做推广
  • 搭建网站需要什么软件惠安县住房和城乡建设部网站
  • 江门恒达互联网网站建设抖音怎么运营和引流
  • 网站建设后台管理百度cdn wordpress
  • 做新媒体国外网站班级网页模板html源码
  • tp5网站开发逻辑架构云速建站与传统网站的区别
  • 郑州网站设计与制作网站的内链怎么做
  • 学校网站设计方案模板wordpress前台上传
  • 泰州外贸网站建设二 网站建设的目的及功能定位
  • 建筑网站的研究背景与意义钱包网站建设策划
  • 网站开发项目拖延周期如何做电商网站视频
  • 北京网站建设专家怎么阐述自己做的网站