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

设计师做兼职的网站有哪些湖南涟钢建设有限公司网站

设计师做兼职的网站有哪些,湖南涟钢建设有限公司网站,wordpress备案信息修改,煤炭网站建设企业对ST表进行一个简单的总结,它可以实现O(1)的静态区间查询,可以适用于查询操作频繁但数据不修改的场景 题目来源 https://www.luogu.com.cn/problem/P3865 题目介绍 给定一个长度为 N 的数列,和 M 次询问,求出每一次询问的区间…

对ST表进行一个简单的总结,它可以实现O(1)的静态区间查询,可以适用于查询操作频繁但数据不修改的场景

题目来源

https://www.luogu.com.cn/problem/P3865

题目介绍

给定一个长度为 N 的数列,和 M 次询问,求出每一次询问的区间内数字的最大值。

解题思路

我们可以每次都对区间进行一次遍历,但这样的复杂度过高,我们可以进行一边预处理,最后实现O(1)的查询,我们先设置一个f的二位数组.

当j==0时,我们将数组中第 i 个元素的值放到f[i][0]中,对于 j > 0 的情况,我们根据倍增思想,将长度为2^j的区间划分为两个长度为2^(j-1)的子区间,即 [i, i + 2^(j - 1) - 1] 和 [i + 2^(j - 1), i + 2^j - 1]

因此,f[i][j]可以通过max(st[i][j - 1], st[i + (1 << (j - 1))][j - 1]) 得到。

对于查询,我们可以设置一个p=log2(r-l+1),然后我们可以在[l,l+2^p-1]和[r-2^p+1,r]两个区间内找到我们所需要值,对其求最大即可。

解题代码

#include<iostream>
#include<algorithm>
#include<vector>
#include<map>
#include<set>
#include<queue>
#include<cstring>
#include<math.h>
using namespace std;
typedef long long ll;
const int N = 1e5 + 5;
ll f[N][30];
void ST(int xx) {for (int i = 1; i <= xx; i++) {cin >> f[i][0];}for (int i = 1; i <= 20; i++) {for (int j = 1; j + (1 << i) - 1 <= xx; j++) {f[j][i] = max(f[j][i - 1], f[j + (1 << (i - 1))][i - 1]);}}
}
ll check(int l,int r) {ll p = log2(r - l + 1);return max(f[l][p], f[r - (1 << p) + 1][p]);
}
void slove() {int n, q;cin >> n >> q;ST(n);while (q--) {ll x, y;cin >> x >> y;cout << check(x, y) << "\n";}
}
int main() {ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int ttt = 1;while (ttt--) {slove();}
}

与此同时,我们也可以求最小值,只需修改中间一段的代码

void ST(int xx) {for (int i = 1; i <= xx; i++) {cin >> f[i][0];}for (int i = 1; i <= 20; i++) {for (int j = 1; j + (1 << i) - 1 <= xx; j++) {f[j][i] = min(f[j][i - 1], f[j + (1 << (i - 1))][i - 1]);}}
}
ll check(int l,int r) {ll p = log2(r - l + 1);return min(f[l][p], f[r - (1 << p) + 1][p]);
}

总结

这题就是这样的,主要运用了倍增和预处理的思想。

                                                                                                                                     --撰稿人viture


文章转载自:

http://oozaSRVa.tqLhn.cn
http://9lKTU7FL.tqLhn.cn
http://t891OjWL.tqLhn.cn
http://BxCX7WYr.tqLhn.cn
http://ZUUOvmFZ.tqLhn.cn
http://rzO88HBW.tqLhn.cn
http://9UGf2glY.tqLhn.cn
http://TQIQ0qXR.tqLhn.cn
http://3Zs6czkL.tqLhn.cn
http://0RRjXyjS.tqLhn.cn
http://CaEI9ehd.tqLhn.cn
http://JumCOBUF.tqLhn.cn
http://vDSi7p4V.tqLhn.cn
http://g6vIeB8B.tqLhn.cn
http://o6OXsuSe.tqLhn.cn
http://hCHq4Klu.tqLhn.cn
http://63vzUeNv.tqLhn.cn
http://qDCdvKFe.tqLhn.cn
http://baeOIe5C.tqLhn.cn
http://XQRSSWGw.tqLhn.cn
http://IxwSCpDM.tqLhn.cn
http://cvECCzME.tqLhn.cn
http://2teElser.tqLhn.cn
http://oiXaqaRT.tqLhn.cn
http://HjgX8iUu.tqLhn.cn
http://CGMbraXb.tqLhn.cn
http://2JLJJSWG.tqLhn.cn
http://VVSHAvUr.tqLhn.cn
http://3zEerNdt.tqLhn.cn
http://fuiY1W9H.tqLhn.cn
http://www.dtcms.com/wzjs/689357.html

相关文章:

  • 男女做暖暖的试看网站酥酥影视网站建设前台与后台最新技术
  • 家具公司网站建设如何建造免费的网站
  • php 开启gzip加速网站济南企业做网站推广网站
  • 二级域名免费分发站做外贸营销网站销售咋样
  • 起个娱乐网站名字邢台建设一个企业网站
  • 中国建设银行甘肃省分行官网站二级域名备案
  • ppt模板免费下载的网站网站建设哪些字体没有版权
  • 网站地图设计h5动画网站
  • 网站设置关键字wordpress参考文件夹
  • 北京 外贸网站建设哔哩哔哩官方网站首页
  • 江象网站建设学校网站建设管理办法
  • 网站ftp怎么登陆app怎样下载安装
  • 网站开发swf素材有哪些网站可以做视频
  • 电脑自助建站库尔勒业之峰装饰公司怎么样
  • 简约网站程序市场营销目标怎么写
  • 请简述网站建设流程图seo技术培训班
  • 网页制作网站平台郑州威盟网站建设公司怎么样
  • 电力建设网站进不去什么网站可以自学ps做贵宾卡
  • wordpress怎么社交分享插件seo外链优化
  • 济南网站建设网站建设合工大网站建设试卷
  • 个人网站开发计划书南城区做网站
  • 医疗机构网站备案书城网站开发
  • 外国设计网站wordpress免登陆发布模块
  • 有创意的个人网站推广产品最好的方式
  • 网站栏目页关键词如何做百度seo如何快速排名
  • 著名的个人网站我的世界做皮肤网站
  • 什么星网站做调查问卷的今天的最新消息新闻
  • 网站建设设计公网络设计实验报告
  • 摄影网站排行榜前十名下载了国外app怎么连不上网
  • 利州区住房和城乡建设部网站手表东莞网站建设技术支持