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

求区间最大值

题目描述
给定一个长度为 N 的数列,和 M 次询问,求出每一次询问的区间内数字的最大值。
输入描述
第一行包含两个整数 N,M,分别表示数列的长度和询问的个数。
第二行包含 N 个整数(记为𝑎𝑖),依次表示数列的第 i 项。接下来 M 行,每行包含两个整数 
𝑙𝑖,𝑟𝑖,表示查询的区间为
[𝑙𝑖,𝑟𝑖]。
输出描述
输出包含 M 行,每行一个整数,依次表示每一次询问的结果。
提示
【数据范围】
1≤𝑁,𝑀≤105,0≤𝑎𝑖≤109
输入样例
8 8
9 3 1 7 5 6 0 8
1 6
1 5
2 7
2 6
1 8
4 8
3 7
1 8
输出样例
9
9
7
7
9
8
7
9

​
#include <iostream>
using namespace std;int f[100005][17];
int logn[100005];int main() {int n, m;cin >> n >> m;for (int i = 1; i <= n; i++)cin >> f[i][0];for (int j = 1; 1<<j <= 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]);logn[1] = 0;for (int i = 2; i <= n; i++)logn[i] = logn[i/2] + 1;int l, r;for (int i = 0; i < m; i++) {scanf("%d %d", &l, &r);int x = logn[r-l+1];int mmax = max(f[l][x], f[r-(1<<x)+1][x]);printf("%d\n", mmax);}return 0;
}​
http://www.lqws.cn/news/563383.html

相关文章:

  • 软件项目管理期末考试大题
  • 逆向入门(22)程序逆向篇-TraceMe
  • 【纯干货】调整word目录中的行距以及右对齐页码
  • 高端电影色调人像风光大片摄影后期调色Lightroom预设,手机滤镜下载!
  • Linux软连接和硬连接
  • 从 “慢如蜗牛” 到 “风驰电掣”:中欧跨境网络专线加速方案
  • spring-ai-alibaba DashScopeCloudStore自动装配问题
  • 论文阅读 Align before Fuse (ALBEF)
  • EXISTS 和 NOT EXISTS 、IN (和 NOT IN)
  • 每日算法刷题Day40 6.27:leetcode前缀和3道题,用时1h20min
  • 1.2 基于蜂鸟E203处理器的完整开发流程
  • 【大模型】Query 改写常见Prompt 模板
  • 【转】PostgreSql的镜像地址
  • InfluxDB 3 Core最后值缓存深度实践:毫秒级响应实时数据的核心引擎
  • Mysql架构
  • c++学习(五、函数高级)
  • 大事件项目记录11-文章分类接口开发-删除文章分类
  • Qt:QCustomPlot库简介
  • Vue基础(18)_收集表单数据
  • debian国内安装docker
  • 【经验】bitsandbytes安装-LLAVA-1.5库调试
  • 【数据标注师】分类标注
  • AD 学习笔记——第一章 系统的安装及参数设置
  • 一个简单测试Deepseek吞吐量的脚本,国内环境可跑
  • 印度和澳洲的地理因素
  • 西门子S7-200 SMART PLC:小型自动化领域的高效之选
  • 数据库(MYsql)
  • Qt-Advanced-Docking-System 关闭、禁止拖动、最大化按钮等设置
  • 从静态到动态:Web渲染模式的演进和突破
  • Spring Cloud:高级特性与最佳实践