poj 3264 Balanced Lineup ST

[学习][poj3264]稀疏表(ST表) Balanced Lineup 稀疏表(ST表)的简介 稀疏表(Sparse Table, ST 表)与线段树、树状数组一样,也是常用来处理序列上的区间询问问题的。但 ST 表只能处理区间最值,即RMQ(Range Minimum Query)问题,它的空间需求也比前两者要大,是O(nlognnlogn)级别的。ST 表需要O(nlognnlogn)的时间预处理,并且能O(1)回答单次区间最值的询问,但不支持修改操作。因此它适用 阅读详情

传送门


题目大意:
给出n个数,q个询问,求出每个区间中max-min的值


分析:
ST裸题 ……(⊙o⊙) >_<


代码如下:

#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#define inf 0x3f3f3f3f
using namespace std;
const int maxn=50005;
int n,m,a[maxn],fmax[maxn][25],fmin[maxn][25];
void ST(){
    for(int j=1;j<=20;j++)
        for(int i=1;i+(1<<(j-1))<=n;i++)
            fmax[i][j]=max(fmax[i][j-1],fmax[i+(1<<(j-1))][j-1]);
    for(int j=1;j<=20;j++)
        for(int i=1;i+(1<<(j-1))<=n;i++)
            fmin[i][j]=min(fmin[i][j-1],fmin[i+(1<<(j-1))][j-1]);
}
int askmax(int x,int y){
    int len=y-x+1;
    int k;
    for(k=20;k>=0;k--)
        if(len&(1<<k)||k==0)    
            break;
    return max(fmax[x][k],fmax[y-(1<<k)+1][k]);
}
int askmin(int x,int y){
    int len=y-x+1;
    int k;
    for(k=20;k>=0;k--)
        if(len&(1<<k)||k==0)    
            break;
    return min(fmin[x][k],fmin[y-(1<<k)+1][k]);
}
signed main(void){
    scanf("%d%d",&n,&m);
    memset(fmax,-inf,sizeof(fmax));
    memset(fmin,inf,sizeof(fmin));
    for(int i=1;i<=n;i++)
        scanf("%d",&a[i]),fmax[i][0]=fmin[i][0]=a[i];
    ST();
    while(m--){
        int x,y;
        scanf("%d%d",&x,&y);
        printf("%d\n",askmax(x,y)-askmin(x,y));
    }
    return 0;
}


----------
感谢yousiki


----------
by >o< neighthorn
logisim实验六:MIPS运算器设计 实验目的 学生理解算术逻辑运算单元(ALU)的基本构成,掌握 Logisim 中各种运算组件的使用方法,熟悉多路选择器的使用,能利用前述实验完成的 32 位加法器、 Logisim 中的运算组件构造指定规格的 ALU 单元。 设计要求 利用前面实验封装好的 32 位加法器以及 logisim 平台中现有运算部件构建一个 32 位算术逻辑运算单元(禁用 Logisim 系统自带的加法器,减法器),可支持算术加、减、乘、除,逻辑与、或、非、异或运算、逻辑左移、逻辑右移、算术右移运算,支持常用程序状态标志(有符号 阅读详情

相关推荐

数据结构之栈(Stack)的实现详解

堆栈是一种线性数据结构,其插入新元素和删除现有元素都发生在堆栈的顶部。栈(Stack)按照"后进先出"(Last-In-First-Out,LIFO)的原则存储和访问数据。栈类似于现实生活中的堆叠物体,比如一摞书或者一堆盘子。

swadian2008的博客 3812

【RMQ_ST算法】POJ 3264 Balanced Lineup

RMQ 预处理部分: max_[i][j]=max(max_[i][j-1],max_[i + (1 << j-1)][j-1]); min_[i][j]=min(min_[i][j-1],min_[i + (1 << j-1)][j-1]); 释意: max_[ i ][ j ],从区间的第 i 的位置开始,长度为2 ^ j 的区间上的最大值。 我们要求区间的最大值,...

L_X_ 220

【MDC开发者实战】多传感器融合算法在自动驾驶中的配置与优化

本文详细介绍了华为MDC平台在自动驾驶中多传感器融合算法的配置与优化实践。通过前融合与后融合技术,结合摄像头、激光雷达和毫米波雷达的数据,提升感知精度与可靠性。文章还分享了ARXML配置、标定技巧、算法调优及性能优化等实战经验,帮助开发者高效实现自动驾驶系统的传感器融合。

weixin_29214199的博客 512

Balanced Lineup_poj3264_rmq ST

DescriptionFor the daily milking, Farmer John’s N cows (1 ≤ N ≤ 50,000) always line up in the same order. One day Farmer John decides to organize a game of Ultimate Frisbee with some of the cows. To ke

olahiuj的博客 505

C# 与华中数控设备通信:数控机床自动化控制与实时监测系统

华中数控系统与C#通信开发指南 核心要点 通信基础 支持串口(RS232/RS485)和以太网两种连接方式 协议选择:通用Modbus协议或华中自定义HNC协议 关键数据映射表明确各参数对应的寄存器地址和功能码 系统架构 四层架构:设备层→通信层→业务层→应用层 包含实时数据采集、指令下发、状态监控、异常处理全流程 支持Modbus和HNC协议动态切换 代码实现 串口通信使用NModbus库简化开发 提供连接管理、数据读取、指令下发完整示例 包含异常处理和超时重连机制 应用价值 实现数控机床远程监控和自动化

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 2015

14、多标签分类与卷积神经网络在医学图像处理中的应用

本文探讨了多标签分类与卷积神经网络(CNN)在医学图像处理中的应用。文章详细介绍了多标签分类的概念和挑战,以及如何通过CNN进行高效、准确的分类任务。内容涵盖模型设计、损失函数选择、数据增强技术、类别权重调整等关键技术点,并结合实际案例,如白内障手术工具检测、视网膜血管分割等,展示了CNN在医学图像分析中的强大潜力。此外,还讨论了模型优化策略及面临的挑战与解决方案。

t8u9v0的博客 191

POJ 3264 Balanced Lineup(ST表)

题目链接:点击打开链接 裸的ST表,水题 // POJ 3264 Balanced Lineup.cpp 运行/限制:3375ms/5000ms #include #include #include #include using namespace std; int n; int a[50005], minValue[50005][20], maxValue[50005][20], u

不忘初心 430

【S32K3 MCAL配置】-4.1-CAN Driver:如何解决CAN帧发送丢帧问题

【S32K3 MCAL配置】-4.1-CAN Driver:如何解决CAN帧发送丢帧问题

「汽车电子助手」的博客 1439

ST表-POJ3264 Balanced Lineup

一、翻译及算法分析 USACO来源的题经常一言不合就是奶牛,很多题目都和牛有关。言归正传,本题: 对于每天的挤奶工作,John 的 N 头牛总是以相同的序列排成一队。一天, John 决定选择一些牛组织一场比赛。为了简单起见,他会从挤奶队伍中挑选一个连续的奶牛队伍来玩这个游戏。然而,为了让所有的奶牛都玩得开心,它们的身高不应该相差太大。 (注意核心题面) For each group, he wa...

numb_ac的博客 160

AXI_Bus_Matrix_4x4 设计

Signal Source Width(bits) Description AWID Master AWID_WIDTH 写事务ID AWADDR Master

Starry__的博客 3766

建设银行核心系统建设历程全网最详细记录

中国建设银行核心系统数字化转型之路 摘要:中国建设银行自1954年成立以来,其核心系统经历了从分散到集中、再到分布式架构的演进历程。2002-2005年完成的数据大集中工程(DCC)实现了全行业务统一管理,2010年启动的"新一代核心系统"构建了企业级架构,率先实现"一次研发,全行共享"。2020年起全面推进主机下移战略,通过分布式架构改造,攻克八大关键技术难题,于2024年7月完成境内外全量核心业务下移,日均同步数据8亿条,实现金融核心系统完全自主可控。这一转型不仅

银行信息系统应用架构详解 4871

[POJ] - 3264 Balanced Lineup [RMQ][ST]

For the daily milking, Farmer John’s N cows (1 ≤ N ≤ 50,000) always line up in the same order. One day Farmer John decides to organize a game of Ultimate Frisbee with some of the cows. To keep things s

chutzpah 324

[网络安全提高篇] 一二九.Powershell恶意代码检测 (5)混淆和反混淆 [上]

前文介绍了如何利用MS Defender实现恶意样本家族批量标注。这篇文章将继续讲解Powershell恶意代码检测,主要包括PowerShell混淆与反混淆内容,首先结合Invoke-Obfuscation工具详细介绍PowerShell代码混淆方法,再结合PowerDecode工具阐述解混淆方法。该研究将为后续的恶意软件家族分类或溯源提供帮助。未完待续,基础性文章,希望您喜欢,且看且珍惜。

杨秀璋的专栏 1535

POJ 3264 Balanced Lineup (ST算法)

题目链接:POJ 3264 Problem Description For the daily milking, Farmer John's \(N\) cows \((1 \le N \le 50,000)\) always line up in the same order. One day Farmer John decides to organize a game of Ult...

G19850917的博客 181

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

POJ 3264 Balanced Lineup ST表

RMQ(区间最大值,最小值)问题的解决,ST表的应用。

看曙光 1079

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

poj 3264 Balanced Lineup ST表

ST表

GadyPu的专栏 411

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Balanced Lineup POJ - 3264 (ST表)

题目来源:Balanced Lineup 题意 给你n个数,有q次询问,每次询问给定两个数l和r,输出区间l到r最大值与最小值的差 思路 题目给定数字后没有再进行修改,属于离线查询,可以直接使用st表在nlogn的时间内处理所有区间的最值,在常数时间内查询区间最值。 用线段树维护区间最值也可以 log[n] 存放了以二为底n的对数向下取整后的结果,预处理下这个数组 比调用库函数要快一点 ...

jesHrz的博客 280

poj3264 Balanced Lineup(ST表)

链接:http://poj.org/problem?id=3264 题意: n头牛排成一行,问a到b这个区间内最高的牛和最矮的牛的身高差。 思路: 这题用的是ST表,初学ST。这题算模板题了,关键还是要理解。。 另外,某位巨巨说用代码中的方法求k值可能会被卡。 代码: #include #include #include #include #i

酱油拌面 354

POJ 3264 Balanced Lineup ST算法

ST算法即是sparse table算法,就是稀疏表的意思,就是利用二分法来划分一个表,划分为2的次方段,之后利用这个st表计算查询结果,可以使得预处理时间O(nlgn),而查询时间为O(1) ; 那么有人会有疑问,既然查询时间是O(1),那么为什么这个算法很多时候并不比线段树快多少,甚至根本没有快过呢? 因为其实查询时间为O(log(range)), range为查询区间的大小,因为

靖空间 1113

POJ 3264 Balanced Lineup (st表模版)

题目 For the daily milking, Farmer John'sNcows (1 ≤N≤ 50,000) always line up in the same order. One day Farmer John decides to organize a game of Ultimate Frisbee with some of the cows. To ke...

akmii15691956527的博客 187

【POJ】【P3264】【Balanced Lineup】【题解】【ST表】

传送门:http://poj.org/problem?id=3264 题意:给定长度为n的序列,m次询问区间[l,r]的最大值与最小值的差 题解:裸的RMQ问题,果断ST表破之 /* ID:iamzky OJ:POJ Index:3264 Language:C++ */ #include #include #include #include using namespace std;

退役狗的专栏 1015

POJ3264 Balanced Lineup ST表简单应用

创建两个ST表,分别保存区间最大值和最小值,对于每次查询,找出最大值和最小值相减即可。 这题时间卡得比较死,如果写得不好可能还会TLE #include <algorithm> #include <cmath> #include <cstdio> const int N = 5e4 + 5; using namespace std; int n, m; int h[N], lg2[N], p2[20], stmax[N][20], stmin[N][20]; void

Shanhj的博客 227

poj 3264 Balanced Lineup(ST)

好几天没写博,还是没形成习惯啊,最近都在做线段树和树状数组方面的题,树状数组和线段树有一些相似的地方,有些题既能用线段树又能用树状数组,所以就都先用一下,不过还是不熟练。 那好吧,几天补齐前几天的博。 题意:给出N个数字和Q个询问,每个询问给出起始位置和终止位置,求出这段区间中最大数字和最小数字的差。 思路:RMQ的思想就是求一个区间中的最值,用ST求出区间最大值和最小值,然后求差...

B218707的博客 172

POJ 3264 Balanced Lineup【倍增、ST表】

Balanced Lineup 题目地址:添加链接描述 题目大意:求数组内任意两数之间的(最大值-最小值) 解题思路:倍增、ST表,具体见代码: #include <iostream> #include<math.h> #include<stdio.h> using namespace std; const int maxn=5e4+7; const int maxnum=21; int mmax[maxn][22],mmin[maxn][22],a;//储存最大、最小

Dawn 165

[poj3264] Balanced Lineup(st表)

时间是一只藏在黑暗中温柔的手,在你一出神一恍惚之间,物走星移。

zyf2000 638

poj 3264 Balanced Lineup//一维ST

Balanced Lineup #include <iostream> #include <cstdio> #include <cstdlib> #include <algorithm> #include <climits> using namespace std; #define LL long long #define mod ...

Rshs 133
上一篇: poj 2152 Fire 树形DP
下一篇: 离散化模板
NeighThorn
博客等级 码龄11年 20粉丝 171原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值