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

网站建设免费软件有哪些湖州seo排名

网站建设免费软件有哪些,湖州seo排名,郑州影楼网站建设,看片应该搜什么关键词哪些词【题目链接】 ybt 1541:【例 1】数列区间最大值 【题目考点】 1. RMQ问题 RMQ问题是给定一个序列,多次求区间最值的问题。 常用解法: ST表:离线算法,预处理 O ( n log ⁡ n ) O(n\log n) O(nlogn),区间…

【题目链接】

ybt 1541:【例 1】数列区间最大值

【题目考点】

1. RMQ问题

RMQ问题是给定一个序列,多次求区间最值的问题。
常用解法:

  • ST表:离线算法,预处理 O ( n log ⁡ n ) O(n\log n) O(nlogn),区间查询 O ( 1 ) O(1) O(1)
  • 线段树:在线算法,预处理 O ( n ) O(n) O(n),区间查询 O ( log ⁡ n ) O(\log n) O(logn)

【解题思路】

解法1:ST表

概念及解析见洛谷 P3865 【模板】ST 表 && RMQ 问题

解法2:线段树

基本概念及解析见洛谷 P3374 【模板】树状数组 1(线段树解法)
线段树中每个结点保存的值为该结点表示的区间中的最大值。
使用孩子结点的值更新双亲结点的值时(pushUp操作),取左右孩子结点的值的最大值,即为当前结点的值。
区间查询时:

  • 如果当前结点表示的区间被待查询区间完全包含,则返回当前结点的值。
  • 如果当前结点表示的区间没有被待查询区间包含,则求出左右孩子结点表示的区间在待查询区间中的最大值,返回这两个值的最大值。

【题解代码】

解法1:ST表
#include<bits/stdc++.h>
using namespace std;
#define N 100005
#define L 30
int a[N], lg[N], f[N][L];//f[i][j]:a[i]~a[i+2^j-1]中的最大值 
void initLg(int n)
{for(int i = 2; i <= n; ++i)lg[i] = lg[i/2]+1;
}
int query(int l, int r)
{int k = lg[r-l+1];return max(f[l][k], f[r-(1<<k)+1][k]);
}
int main()
{ios::sync_with_stdio(false);cin.tie(nullptr);int n, m, l, r;cin >> n >> m;initLg(n);for(int i = 1; i <= n; ++i)cin >> a[i];for(int i = 1; i <= n; ++i)f[i][0] = a[i];for(int j = 1; j <= lg[n]; ++j)for(int i = 1; i+(1<<j)-1 <= n; ++i)f[i][j] = max(f[i][j-1], f[i+(1<<(j-1))][j-1]);while(m--){cin >> l >> r;cout << query(l, r) << '\n';}return 0;
}
解法2:线段树
#include<bits/stdc++.h>
using namespace std;
#define N 100005
struct Node
{int l, r, val;
} tree[4*N];
int a[N];
void pushUp(int i)
{tree[i].val = max(tree[2*i].val, tree[2*i+1].val);
}
void build(int i, int l, int r)
{tree[i].l = l, tree[i].r = r;if(l == r){tree[i].val = a[l];return;}int mid = (l+r)/2;build(2*i, l, mid);build(2*i+1, mid+1, r);pushUp(i);
}
int query(int i, int l, int r)
{if(tree[i].l > r || tree[i].r < l)return INT_MIN;if(l <= tree[i].l && tree[i].r <= r)return tree[i].val;return max(query(2*i, l, r), query(2*i+1, l, r));
}
int main()
{ios::sync_with_stdio(false);cin.tie(nullptr);int n, m, l, r;cin >> n >> m;for(int i = 1; i <= n; ++i)cin >> a[i];build(1, 1, n);while(m--){cin >> l >> r;cout << query(1, l, r) << '\n';}return 0;
}
http://www.zhongyajixie.com/news/4256.html

相关文章:

  • 堆广自己的业务怎么管理网站新闻发布平台
  • 门户网站系统建设清单免费引流推广方法
  • 小精灵网站在线做语文免费建网站
  • 论坛门户网站建设我想在百度上发布广告怎么发
  • 淘宝官方网站登录页面网站seo分析报告案例
  • 微信网站怎么做下载附件长春百度seo排名
  • 新乡网站建设加盟电话百度优化怎么做
  • 不知此网站做男人也seo代码优化工具
  • 做瞹瞹瞹视频网站seo外链招聘
  • 网站建设的相关问题百度网页推广怎么做
  • 深圳网站建设优化服务mac日本官网入口
  • 建外贸网站免费网站优化排名
  • Hugo wordpressseo专员是什么
  • 做相亲网站的安全责任网络推广的渠道有哪些
  • 河北网站备案 多长时间通过网络营销工具平台
  • 重庆网站推广付费windows优化大师收费吗
  • 在合肥做网站前端月薪大概多少seo常用的工具
  • b2c电子商务网站制作小程序开发公司前十名
  • 应用网站开发网站开发一般多少钱
  • 辽宁省政府网站集约化建设北京网优化seo优化公司
  • 北京网站设计公司sx成都柚米科技15湖北seo服务
  • 珠海网站建设公司有哪些长沙专业做网站公司
  • 主视觉设计网站在线培训app
  • 物流公司在哪做网站百度2023免费
  • 动漫制作专业贵州有哪些大专院校淘宝seo排名优化软件
  • 做网站有哪些需求企业网页设计报价
  • 有没有做链接的网站吗知了seo
  • 北京营销型网站建站公司想做一个网站
  • 自己制作网站的步骤自己如何开网站
  • 天蓝色美容网站太原网络推广公司