news 2026/5/8 19:27:49

树上倍增2

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
树上倍增2

预处理填表 二进制log

lc

构造后 抽象为树

实现倍增跳转的查询

另一种视角

#include <iostream>

#include <vector>

#include <cmath>

#include <algorithm>

using namespace std;

const int MAXN = 1e5 + 5;

const int LOG = 20;

int st[LOG][MAXN];

int a[MAXN];

int n;

void build() {

for (int i = 1; i <= n; i++) st[0][i] = a[i];

for (int k = 1; k < LOG; k++)

for (int i = 1; i + (1 << k) - 1 <= n; i++)

st[k][i] = max(st[k-1][i], st[k-1][i + (1 << (k-1))]);

}

int query(int l, int r) {

int len = r - l + 1;

int k = log2(len);

return max(st[k][l], st[k][r - (1 << k) + 1]);

}

int main() {

int m;

cin >> n >> m;

for (int i = 1; i <= n; i++) cin >> a[i];

build();

while (m--) {

int l, r;

cin >> l >> r;

cout << query(l, r) << endl;

}

return 0;

}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/3 6:05:21

如何使用EBHelper 简化EdgeBus的代码编写?

EBHelper 是一款专为简化 EB 代码开发设计的插件工具。用户仅需完成 JSON 格式配置文件&#xff0c;即可快速实现设备通信与数据上报&#xff0c;无需编写代码。核心功能与支持规约设计目标&#xff1a;简化开发流程&#xff0c;通过配置实现通信。支持协议&#xff1a;ModbusD…

作者头像 李华
网站建设 2026/5/1 6:26:18

vue框架如何处理内网大文件的目录结构上传?

前端老炮的20G文件夹上传大冒险&#xff08;附部分代码&#xff09; 各位前端同仁们&#xff0c;我是老张&#xff0c;一个在辽宁苦哈哈写代码的"前端民工"。最近接了个活&#xff0c;客户要求用原生JS实现20G文件夹上传下载&#xff0c;还要支持IE9&#xff01;这简…

作者头像 李华
网站建设 2026/5/6 22:11:47

基于KRR核岭回归的多变量回归预测,核岭回归(Kernel Ridge Regression, KRR)是一种结合了岭回归和核技巧的非线性回归方法,Matlab代码实现

KRR核岭回归多变量回归预测代码 一、研究背景 核岭回归&#xff08;Kernel Ridge Regression, KRR&#xff09;是一种结合了岭回归和核技巧的非线性回归方法&#xff0c;广泛应用于机器学习中的回归预测问题。本研究基于实际工程或科学实验数据&#xff0c;旨在&#xff1a; …

作者头像 李华
网站建设 2026/5/8 9:00:21

用 ESP32-C3 直接连 Starlink 路由器/热点并完成配网

我们这边没有做过“用 ESP32-C3 直接连 Starlink 路由器/热点并完成配网”的专项实物测试&#xff0c;所以不能给你一个“我们已验证没问题/一定可以”的结论。但从协议和已知限制来看&#xff1a;ESP32-C3 作为 2.4GHz Wi-Fi STA 连接 Starlink 的热点本身通常是可行的&#x…

作者头像 李华