Acwing 1270. 数列区间最大值

2023-10-26

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <climits>

using namespace std;

const int N = 100010;

int n, m;
int w[N];
struct Node
{
    int l, r;
    int maxv;
}tr[N * 4];

void build(int u, int l, int r)
{
    if (l == r) tr[u] = {l, r, w[r]};
    else
    {
        tr[u] = {l, r};
        int mid = l + r >> 1;
        build(u << 1, l, mid), build(u << 1 | 1, mid + 1, r);
        tr[u].maxv = max(tr[u << 1].maxv, tr[u << 1 | 1].maxv);
    }
}

int query(int u, int l, int r)
{
    if (tr[u].l >= l && tr[u].r <= r) return tr[u].maxv;
    int mid = tr[u].l + tr[u].r >> 1;
    int maxv = INT_MIN;
    if (l <= mid) maxv = query(u << 1, l, r);
    if (r > mid) maxv = max(maxv, query(u << 1 | 1, l, r));
    return maxv;
}

int main()
{
    scanf("%d %d", &n, &m);
    for (int i = 1; i <= n; ++ i) scanf("%d", &w[i]);
    
    build(1, 1, n);
    
    int l, r;
    while (m --)
    {
        scanf("%d %d", &l, &r);
        printf("%d\n", query(1, l, r));
    }
    
    return 0;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Acwing 1270. 数列区间最大值 的相关文章

  • 列出 C 常量/宏

    有没有办法使GNU C 预处理器 cpp 或其他一些工具 列出给定点上的所有可用宏及其值C file 我正在寻找特定于系统的宏 同时移植一个已经精通 UNIX 的程序并加载一堆稀疏的 UNIX 系统文件 只是想知道是否有比寻找定义更简单的方
  • 使用正则表达式或其他解析从文件中读取值

    我有一个记录带有时间戳的值的文件 我必须在特定时间后读取特定值 例如 文件有 2013 03 03 19 08 22 car 2001 Ford 2013 03 03 19 08 27 Truck 2012 Chevy 2013 03 03
  • 读取进程的进程内存不会返回所有内容

    我正在尝试扫描第三方应用程序的内存 我已经查到地址了 现在是在0x0643FB78 问题是 从那以后我就再也爬不上去LPMODULEENTRY32 gt modBaseAddr is 0x00400000 and LPMODULEENTRY
  • flock():在没有竞争条件的情况下删除锁定的文件?

    我使用flock 来实现进程间命名互斥 即某个进程可以决定锁定 some name 这是通过锁定临时目录中名为 some name 的文件来实现的 lockfile tmp some name lock fd open lockfile O
  • 如何吞咽……有具体原因的异常

    在这个方法中 public static void Detach try using var master new DataContext Data Source LocalDB MSSQLLocalDB Initial Catalog m
  • C# 字典循环增强

    我有一本包含大约 100 万个条目的字典 我不断地循环字典 public void DoAllJobs foreach KeyValuePair
  • 欢迎消息在网络聊天中不可见,但可以在模拟器中使用

    IConversationUpdateActivity update message using var scope Microsoft Bot Builder Dialogs Internals DialogModule BeginLif
  • 如何保存具有多个缩进设置的XmlDocument?

    我需要保存一个XmlDocument以适当的缩进归档 Formatting Indented 但有些节点及其子节点必须排在一行 Formatting None 从那时起如何实现这一目标XmlTextWriter接受整个文档的设置 在 Ahm
  • 使用箭头键滚动可滚动控件

    我正在使用一个ScrollableControl在我的 C 项目中 我想知道如何将箭头键映射到垂直 水平滚动 编辑 我的图片框获得焦点 并且我设法映射滚动键 这里的问题是 当我按下箭头键时 它会滚动一次 然后失去焦点 将其交给滚动查看器旁边
  • C 预处理器“/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cpp”未通过完整性检查

    在使用 Xcode 11 3 的 macOS Mojave 上 我有一个基于 Autotool 的第三方库 在终端中运行我的构建脚本时构建得很好 但在 Xcode 中运行时失败Run Script步骤为 BuildScript Showin
  • 消息在事务处理时未到达 MSMQ

    我在本地计算机中创建了一个私有 MSMQ 我使用以下 C 代码将消息发送到队列 当我将队列更改为事务性队列时 消息未到达 MSMQ 但是 Send 方法中没有抛出异常 我需要做出什么改变才能使其发挥作用 using System using
  • Compact Framework 3.5 上的 System.Data.SQLite 问题

    我在我的紧凑框架应用程序中使用 sqlite 来记录系统中的事件 我也在使用系统 数据 SQLite http sqlite phxsoftware com 该事件具有描述其发生时间的时间戳 我将此时间戳记作为刻度存储在我的表中 除此列外
  • c++ string::size 中的 CharT 元素是什么?

    From http en cppreference com w cpp string basic string size http en cppreference com w cpp string basic string size 的数量
  • 我试图使这段代码递归,但由于某种原因它不起作用[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我试图使这
  • 如何为 Blazor MapFallbackToFile() 生成正确的错误

    我有一个项目想要用作 Web API 和 Blazor wasm UI 该 API 也可以从其他项目访问 因此我希望该 API 向消费者提供有用的错误详细信息 我现在通过使用该网站来实现这两个目的MapFallbackToFile 方法 但
  • 多线程文件写入

    我正在尝试使用多个线程写入大文件的不同部分 就像分段文件下载器所做的那样 我的问题是 执行此操作的安全方法是什么 我是否打开文件进行写入 创建线程 将 Stream 对象传递给每个线程 我不希望发生错误 因为多个线程可能同时访问同一个对象
  • 如何使用va_start()?

    在具有可变参数的函数中 我们使用函数 va start 初始化 va list ap 类型的对象 如下所示 void va start va list ap parmN 我不明白1 什么类型的对象可以作为 parMN 最后一个已知参数 传递
  • C# StreamReader 使用分隔符保存到数组

    我有一个文本文件 其中包含制表符分隔的数据 我在 C 应用程序中需要的是从文本文件中读取一行并将它们保存到一个数组中 在每个位置将它们分开 t 然后我对下一行做同样的事情 My code StreamReader sr new Stream
  • SQL 注入在 winform 中有效吗?

    我正在用 C 制作一个 Windows 软件 我读过关于sql injection但我没有发现它适用于我的应用程序 SQL 注入在 winform 中有效吗 如果是的话如何预防 EDIT 我正在使用文本框来读取用户名和密码 通过使用 tex
  • 提高大型结构列表的二进制序列化性能

    我有一个以 3 个整数保存 3d 坐标的结构 在测试中 我将 100 万个随机点放在一起 List 然后对内存流使用二进制序列化 内存流大小约为 21 MB 这似乎非常低效 因为 1000000 点 3 坐标 4 字节应该至少为 11MB

随机推荐

  • [k8s部署踩过的坑]

    系统环境 系统版本 docker版本 role ip地址 CentOS8 4 2105 Linux version 4 18 0 348 xx Red Hat 8 5 0 4 20 10 12 k8s master 192 168 100
  • 冒泡排序详解

    一 冒泡排序简介 常用排序算法 冒泡排序 Bubble Sort 是一种常见的排序算法 相对来说比较简单 冒泡排序重复地走访需要排序的元素列表 依次比较两个相邻的元素 如果顺序 如从大到小或从小到大 错误就交换它们的位置 重复地进行直到没有
  • python海龟漂亮图案代码大全_带有海龟图案的Python花

    我在高中的编程课上和海龟图形一起工作 这个项目是按照老师演示的一些指导原则和功能制作一朵花 我在一个小时内就完成了 现在我正试图用更多的海龟一次画出多朵花 但我不能让海龟们使用新定义的函数 老师也没有时间和我一对一地讨论我该怎么做 所以 经
  • Cesium:入门教程(二)之数据源加载

    前言 成功运行 helloworld 的例子后 下面对控件 数据源等进一步说明 鼠标 左键单击和拖拽 沿着地球表面平移 调整相机位置 右键单击和拖拽 相机放大缩小 调整相机距离 滚轮 相机放大缩小 调整相机距离 中间按下和拖拽 围绕地球表面
  • Git命令介绍

    1 最小配置 在使用Git之前需要配置User信息 包括user name和user email git config global user name your name git config global user email your
  • openGL之API学习(八十二)glShaderSource

    替换着色器中的代码 任何以前的代码都会被完全替换掉 一次可以上传多段代码进行替换 并不进行代码的扫描和解析 替换完后是否需要重新进行编译和链接呢 因为着色器代码需要编译 连接 最后生成可执行文件才能被CPU GPU调度执行 所以替换完后还是
  • EasyImage简单图床 - 快速搭建私人图床云盘同时远程访问

    文章目录 1 前言 2 EasyImage网站搭建 2 1 EasyImage下载和安装 2 2 EasyImage网页测试 2 3 cpolar的安装和注册 3 本地网页发布 3 1 Cpolar云端设置 3 2 Cpolar内网穿透本地
  • Maven插件之Dependency:analyze

    前言 完成新功能的开发后 在发包前组长告诉我要检查maven工程的依赖 并告诉我相关指令 此文记录一下使用方式 正文 简介 Maven官网之Dependency插件 Dependency插件提供了操纵artifact的能力 可以复制以及拆包
  • Loadrunner手写接口性能脚本

    Loadrunner手写接口性能脚本 文章目录 概述 脚本录制出现的问题 手写loadrunner脚本 概述 使用Loadrunner进行性能测试分为三步 1 创建 编辑脚本 2 运行负载测试 3 分析测试结果 脚本录制出现的问题 1 录制
  • mybatis如何防止SQL注入?

    sql注入发生的时间 sql注入发生的阶段在sql预编译阶段 当编译完成的sql不会产生sql注入 一 采用jdbc操作数据时候 String sql update ft proposal set id id PreparedStateme
  • 【rust/egui】(十一)使用rfd选择文件并使用serde_json进行序列化

    说在前面 rust新手 egui没啥找到啥教程 这里自己记录下学习过程 环境 windows11 22H2 rust版本 rustc 1 71 1 egui版本 0 22 0 eframe版本 0 22 0 上一篇 这里 rfd Rusty
  • 学习笔记之以太网帧结构

    在TCP IP中 以太网的IP数据报文的封装格式由RFC 894定义 IEEE802 3网络的IP数据报文封装由RFC 1042定义 当今最常使用的封装格式是RFC894定义的格式 通常称为Ethernet II或者Ethernet DIX
  • openGL之API学习(一零零)glProgramParameter

    给着色器程序传递参数 void glProgramParameteri GLuint program GLenum pname GLint value program Specifies the name of a program obje
  • python 散点图_

    Python中绘制散点图常用的函数是 matplotlib pyplot scatter 它的主要参数如下 matplotlib pyplot scatter x y s None c None marker None cmap None
  • 【SpringBoot】1、SpringBoot整合JWT实现Token验证

    这里写目录标题 1 单点登录 1 1 单系统登录 1 1 1 单系统登录流程 使用Session实现单系统登录 1 2 多系统 单点 登录 1 2 1 单点登录实现方案 1 2 1 1 Session跨域 1 2 1 2 Spring Se
  • python迭代器和可迭代对象

    1 迭代器 vs 可迭代对象 python中两个迭代的概念 一个叫做迭代器 Iterator 一个叫做可迭代对象 Iterable 我们可以从collections模块中导入 from collections abc import Iter
  • 树模型集成学习(Tree Embedding)

    树模型集成学习 集成学习主要有两个思想 分别是bagging和boosting 树模型的集成模型都是使用树作为基模型 最常用的cart树 常见的集成模型有RandomForest GBDT Xgboost Lightgbm Catboost
  • Win10+Ubuntu16.04双系统重装win10后ubuntu引导失败UEFI启动方式下GRUB消失

    参考博客 http blog csdn net zrf2112 article details 71042782 参考文章 https wiki deepin org index php title E4 BF AE E5 A4 8D E5
  • 获取misc device/cdev 设备private data

    在driver module开发过程中 probe时定义一个device driver相关的数据结构 其它函数中需要用到这个结构 比如write read mmap等操作 MISCDEVICE 在misc device open时 将mis
  • Acwing 1270. 数列区间最大值

    include