首页 > 其他分享 >RMQ

RMQ

时间:2023-10-12 15:11:40浏览次数:25  
标签:RMQ cout int sync cin tie

P3865 【模板】ST 表
利用倍增
f[i][j]表示,范围[i,i+2^(j)-1]内的最大值是多少

点击查看代码
#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int f[N][22];
int main() {
	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	int n, m;
	cin >> n >> m;
	for (int i = 1; i <= n; i++) cin >> f[i][0];
	for (int j = 1; j <= 20; 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--) {
		int l, r;
		cin >> l >> r;
		int k = log2(r - l + 1);
		cout << max(f[l][k], f[r - (1 << k) + 1][k])<<'\n';
	}
	return 0;
}

标签:RMQ,cout,int,sync,cin,tie
From: https://www.cnblogs.com/bu-fan/p/17759514.html

相关文章

  • 分块+ST的RMQ
    期望\(O(n)-O(1)的RMQ\)#include<bits/stdc++.h>#defineintlonglong#defineF(i0,i1,i2)for(inti0=(i1);i0<=(i2);++i0)usingnamespacestd;inlineintrd(){ intx=0,f=0;charch=getchar(); while(!isdigit(ch)){if(ch=='-')f=1;ch=getchar(......
  • RockerMq发送消息之顺序消息
    顺序消息        消息有序指的是可以按照消息的发送顺序来消费(FIFO)。RocketMQ可以严格的保证消息有序,可以分为分区有序或者全局有序。        顺序消费的原理解析,在默认的情况下消息发送会采取RoundRobin轮询方式把消息发送到不同的queue(分区队列);而消费消......
  • 基于Docker安装RockerMQ
    1、拉取RockerMQ镜像dockerpullapache/rocketmq2、创建namesrv服务mkdir-p/usr/local/rocketmq/data/namesrv/logs/usr/local/rocketmq/data/namesrv/store3、构建namesrv容器 dockerrun-d\--restart=always\--namermqnamesrv\--privileged=true\-p98......
  • 【树论】RMQ问题和ST表
    目录RMQ问题ST表优缺点实现递推查询复杂度代码技巧-快速读入RMQ问题RMQ(RangeMaximum/MinimumQuery)问题,即区间最值问题。一般是多次询问,对时间复杂度要求高,一般需要\(O(logn)\)或\(O(1)\)复杂度ST表p[i][j]是以i为起点,连续\(2^j\)个数字的最大值(是一个递推表)3......
  • RMQ问题中的ST算法
    RMQ问题中的ST算法长为n的数组a,m次询问,求l~r中最大值是多少//RMQ问题中的ST算法//m次询问,求l~r中最大值是多少#include<bits/stdc++.h>#defineregregisterusingnamespacestd;//读取输入的函数inlineintread(){ intx=0,f=1; charch=getchar(); while(ch......
  • RMQ模板
    template<calssT>structRMQ{intn;vector<vector<T>>f;vector<int>log_2;vector<T>a;function<T(T,T)>cmp;RMQ(){}RMQ(intn,function<T(T,T)>op):n(n),f(n+5,ve......
  • uva 12299 RMQ with Shifts(线段树单点更新初步应用)
                                 uva12299RMQwithShiftsInthetraditionalRMQ(RangeMinimumQuery)problem,wehaveastaticarrayA.Thenforeachquery(L,R)(LR),wereporttheminimumvalueamongA[L],A[L+1],...,A[R].N......
  • P6109 [Ynoi2019] rprmq1
    LuoguP6109[Ynoi2009]rprmq1LuoguP6109题目背景我谔谔本题读入量约13MB,输出量约7MB,请选择合适的输入输出方法题目描述有一个\(n\timesn\)的矩阵\(a\),初始全是\(0\),有\(m\)次修改操作和\(q\)次查询操作,先进行所有修改操作,然后进行所有查询操作。一次修改......
  • 洛谷 P6109 - [Ynoi2009] rprmq1
    首先将修改操作差分为\(l_1\)时刻给\([l_2,r_2]\)中的值\(+v\),\(r_1+1\)时刻给\([l_2,r_2]\)中的值\(-v\)。这样第\(i\)行的状态相当于执行\(1\simi\)时刻的操作后的状态。猫树分治,把一个询问挂在线段树上满足\(l\lel_1\lemid\ler_1\ler\)的区间\([l,r]\)......
  • 2023ACM暑假训练day 7-RMQ问题
    目录DAY7RMQ问题训练情况简介题DAY7RMQ问题训练地址:传送门训练情况简介2023-07-03星期一早上:下午:晚上:题题意:思路:......