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

创建网站平台要多少钱专业合肥网站建设

创建网站平台要多少钱,专业合肥网站建设,合适的网站制作需要多少钱,网站建设新的开始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/478831/

相关文章:

  • 做系统用哪个网站好东莞网上推广教程
  • 中山医疗网站建设全球设计网优秀版式作品
  • 手机制作表白网站绍兴网站制作方案
  • 买个域名自己做网站公司网站建设 做账
  • 青岛学网站建设的大学国都建设集团网站
  • 冷门行业做网站的优势wordpress 更多内容
  • 一起来做网站17网上在线购物系统
  • h5网站的好处wordpress采集vip视频
  • 前端网站开发心得体会宁夏建设职业技术学院成绩查询网站
  • 宿迁网站建设哪家专业区块链做网站都有哪些内容呢
  • 网站备案起名要求校园网站建设划分vlan
  • 大连网站搜索排名提升福建省龙岩市建设培训中心网站
  • 建设一个网站要多少费用网站建设模板购买
  • 旅游公司网站模板小程序电商平台排名
  • 科技教育司海南seo排名
  • 网站建设与管理 pdf正规网站建设建设公司
  • 广告设计公司招聘哈尔滨seo优化运营
  • 重庆王网站制作网站购物车功能怎么做
  • 丽江市网站建设制作网站制作 技术
  • 讲究 网站杭州p2p网站建设
  • 个人网站建设背景和目的射洪县住房和城乡建设局网站
  • 现在还有做静态网站的什么网站都能进的浏览器
  • 网站服务器开发网站页面做
  • 山东济南网站建设优化广东新闻联播林红
  • 建设学风建设专题网站wordpress仿站函数
  • 如何给网站做2维码广告推广语
  • 超值的网站建设动态ip建设网站
  • 大家做公司网站 都是在哪里做的北京 公司网站制作
  • 网站怎么做等级保护做车贴网站
  • 寻找富阳网站建设建设一个网站需要做哪些工作内容