洛谷 2880 平衡的阵容 (RMQ)

SAR学习笔记后续-phased工具箱介绍 摘要:相控阵雷达介绍,基于仿真对MATLAB中phased工具箱进行了详细介绍 阅读详情

P2880 [USACO07JAN]平衡的阵容Balanced Lineup

题目描述

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 simple, he will take a contiguous range of cows from the milking lineup to play the game. However, for all the cows to have fun they should not differ too much in height.

Farmer John has made a list of Q (1 ≤ Q ≤ 200,000) potential groups of cows and their heights (1 ≤ height ≤ 1,000,000). For each group, he wants your help to determine the difference in height between the shortest and the tallest cow in the group.

一个农夫有N头牛,每头牛的高度不同,我们需要找出最高的牛和最低的牛的高度差。

输入输出格式

输入格式:
Line 1: Two space-separated integers, N and Q.

Lines 2..N+1: Line i+1 contains a single integer that is the height of cow i

Lines N+2..N+Q+1: Two integers A and B (1 ≤ A ≤ B ≤ N), representing the range of cows from A to B inclusive.

输出格式:
Lines 1..Q: Each line contains a single integer that is a response to a reply and indicates the difference in height between the tallest and shortest cow in the range.

输入输出样例

输入样例#1:
6 3
1
7
3
4
2
5
1 5
4 6
2 2
输出样例#1:
6
3
0

很明显的一道倍增RMQ,注意一下端点的问题就可以了

代码如下

program mys;

var i,j,k,m,mi,ma,n,t,x1,y1,q:longint;
a:array[0..100000]of longint;
two:array[0..20]of longint;
f,g:array[0..150000,0..16]of longint;

function min(a,b:longint):longint;
begin 
if a<b then exit(a)
else exit(b);
end;

function max(a,b:longint):longint;
begin 
if a>b then exit(a)
else exit(b);
end;

begin 
readln(n,q);
fillchar(g,sizeof(g),$7f);
for i:=1 to n do 
begin 
readln(a[i]);
f[i,0]:=a[i];
g[i,0]:=a[i];
end;

two[0]:=1;
for i:=1 to 20 do 
two[i]:=two[i-1]*2;

for j:=1 to 16 do 
for i:=1 to n do 
begin 
f[i,j]:=max(f[i,j-1],f[i+two[j-1],j-1]);
g[i,j]:=min(g[i,j-1],g[i+two[j-1],j-1]);
end;

for i:=1 to q do 
begin 
readln(x1,y1);
if x1=y1 then 
begin 
writeln(0);
continue;
end;
t:=trunc(ln(y1-x1+1)/ln(2));
mi:=maxlongint;
mi:=min(g[x1,t],g[y1-two[t]+1,t]);
ma:=max(f[x1,t],f[y1-two[t]+1,t]);
writeln(abs(ma-mi));
end;
end.
泛微OA提交流程到下一个节点 泛微OA后端接口强制流程归档 阅读详情

相关推荐

高速串行信号仿真避坑指南:为什么你的SIwave Xnet设置了却不出结果?

本文深入解析SIwave中Xnet功能在高速串行信号仿真中的常见问题,包括模型缺失、网络不完整和端口设置错误等关键误区。通过详细的电路元件模型验证、网络完整性检查及端口配置指南,帮助工程师有效解决仿真不出结果的问题,提升信号完整性分析效率。

weixin_29218963的博客 251

ST表-RMQ问题(洛谷P3865)

前置芝士 用倍增思想求静态区间最值(无法求和)。 dp[i][k]dp[i][k]dp[i][k]表示区间[i,i+2k−1][i,i+2^k-1][i,i+2k−1]的最大或最小值。 预处理O(nlog⁡n)O(n\log n)O(nlogn) 则dp[i][0]=a[i]dp[i][0]=a[i]dp[i][0]=a[i]。则: dp[i][j]=min/max(dp[i][j−1],dp[i+2j−1][j−1])dp[i][j]=min/max(dp[i][j-1],dp[i+2^{j-1}][j

ZCETHAN 的博客 243

Mask2Former实战:用SwinTransformer+Deformable Attention搞定图像分割三大任务

本文实战解析了Mask2Former模型如何统一解决语义、实例和全景分割三大任务。通过集成Swin Transformer骨干网络与创新的Deformable Attention及Masked Attention机制,详细介绍了模型构建、训练策略及在COCO数据集上的性能表现,为开发者提供了高效的图像分割解决方案。

tech5的博客 246

洛谷 P3379:最近公共祖先(LCA)← RMQ+欧拉序

利用欧拉序求 LCA,本质上就是一个 RMQ 问题。而 RMQ 问题常用 ST 算法来初始化数据。

hnjzsyjyj的专栏 1343

逆向解析喜马拉雅新版xm-sign算法:从dws.1.6.8.js到签名生成

本文详细解析了喜马拉雅新版xm-sign算法的逆向破解方法。通过定位核心JS文件dws.1.6.8.js,构建本地Node.js模拟执行环境,并解密关键参数cid与appKey,最终实现签名算法的本地化稳定生成,为数据采集提供可靠解决方案。

weixin_29250403的博客 210

使用CubeMX生成的项目在Keil下添加DSP库并包含arm_math头文件后报错的解决办法

问题描述: 最近使用Cube生成工程后,在Keil中使用Manage Runtime Environment即绿色小饼干按钮添加CMSIS的DSP库后编译报错。很有意思的是,STM32论坛上有外国朋友报告的同样的错误,都是30个Errors,5个Warning。 问题分析: 参考国内论坛某帖子(具体想不起来了),认为因该是Cube复制了库后,Keil从原始Packs目录下引用DSP库导致和Cub...

qq_32256951的博客 7000

ST 表 && RMQ 问题

2、根据这个数量列创建有关st表dp[ ][ ];4、读取询问区间,通过query函数输出最终答案。该题要求使用ST表实现查找区间最大值的功能。注意:read()函数用于加快读入速度。学习心得:熟悉了ST表的创建和使用。3、构造询问函数query( );1、读取需要查找的数列;

lhk18850963086的博客 225

【技术实践指南】Python解析FactSet Revere供应链数据:构建企业级断裂与重构监测指标

本文提供了一份企业级Python实践指南,详细解析如何利用FactSet Revere供应链数据库,构建供应链断裂与重构监测指标。内容涵盖数据清洗、关系对筛选、时间序列处理及核心指标(断裂、恢复、转移)的工程化实现,旨在帮助数据工程师与分析师搭建自动化、可解释的供应链风险监控系统。

weixin_29051811的博客 927

RMQ问题ST算法//洛谷P3865

第一行——咕咕咕(毕竟本来说是要学线段树的。 RMQ问题:区间最值查询。即:RMQ(a,i,j),返回数列a[i]到a[j]中最小or最大元素的下标。询问一次时,跑一次for循环即可,但询问次数多时,就会超时,因此引出ST算法,在nlogn的时间复杂度里预处理,然后O(1)询问。 ST算法: 1.用dp[100005][100005]来表示从i起始的连续2^j个数的min或max...

MoonLight_月亮 250

stm32项目实战(1)光敏电阻的介绍和使用

文章目录前言一、光敏电阻介绍二、cubeMX配置三、代码说明总结 前言 本篇文章我们讲带大家了解光敏电阻的使用 一、光敏电阻介绍 下面是4线光敏电阻实物图 产品接线说明: 1、VCC 接电源正极 3.3-5V 2、GND 接电源负极 3、DO TTL 开关信号输出 (配置为输出模式) 4、AO 模拟信号输出(ADC采样通道) 光敏电阻主要用于检测周围的光照强度,光照强度发生变化那么ADC采样的值也会发送变化。 二、cubeMX配置 简单的配置我们就不多说了主要是ADC采样的配置 这里我采用的是ADC1通道

m0_49476241的博客 1万+

2026年华为OD机试真题 新系统【点亮战争迷雾】

华为OD机试真题 8月18号 新系统【点亮战争迷雾】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【点亮战争迷雾】多语言题解。

qq_45776114的博客 492

【洛谷】 P3865 【模板】ST 表 && RMQ 问题 的题解

一个 ST 表的板子题ST 表是一种基于树形结构的数据结构,用于处理区间查询和更新操作。它通过预处理的方式将原始数据存储在树状结构中,以支持高效的区间查询。ST 表的构建时间复杂度为Onlogn,其中n为原始数据的长度。但一旦构建完成,可以在Ologn的时间内进行区间查询和更新操作。令fij表示区间ii2j−1的最大值,所以fijmaxfij−1fi2j−1j−1])。所以对于每个区间lr可以分成两个部分ll2s。

ZH_qaq的博客 642

杰理外挂flash使用教程(三): 打包提示音到外部flash(2)

本教程详细介绍了提示音制作与程序配置的全流程规范。提示音制作要求包括:英文命名(8字符内)、单声道转换、标准目录结构(cpu/br23/tools/)及使用user_tone_g.bat脚本生成res.bin资源文件。程序配置需修改:1)启用NOR_FS文件系统;2)调整存储空间;3)配置外置Flash参数;4)增强下载脚本追加资源参数。测试阶段建议替换开机提示音验证功能,扩展开发可参考tone_player.c的索引播放逻辑。所有操作均配有图示说明,关键配置需修改对应头文件和脚本参数。

qq_42014563的博客 586

洛谷 P2880 [USACO07JAN]平衡的阵容Balanced Lineup ( rmq ST表) 题解

题目来源: https://www.luogu.org/problemnew/show/P2880 题目描述: 题目背景 题目描述: 每天,农夫 John 的N(1 &lt;= N &lt;= 50,000)头牛总是按同一序列排队. 有一天, John 决定让一些牛们玩一场飞盘比赛. 他准备找一群在对列中为置连续的牛来进行比赛. 但是为了避免水平悬殊,牛的身高不应该相差太大. John ...

摇摇乐的博客 273

pscad IEEE标准系统搭建说明

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

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

平衡的阵容(洛谷-P2880)

题目描述 每天,农夫 John 的N(1 <= N <= 50,000)头牛总是按同一序列排队. 有一天, John 决定让一些牛们玩一场飞盘比赛. 他准备找一群在对列中为置连续的牛来进行比赛. 但是为了避免水平悬殊,牛的身高不应该相差太大. John 准备了Q (1 <= Q <= 200,000) 个可能的牛的选择和所有牛的身高 (1 <= 身高 <= ...

Alex_McAvoy的博客 590

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

洛谷P2880 [USACO07JAN]平衡的阵容Balanced Lineup

题目背景 题目描述: 每天,农夫 John 的N(1 输入: 第1行:N,Q 第2到N+1行:每头牛的身高 第N+2到N+Q+1行:两个整数A和B,表示从A到B的所有牛。(1 输出: 输出每行一个数,为最大数与最小数的差 题目描述 For the daily milking, Farmer John's N cows (1 ≤ N ≤ 50,000) always line

蒟蒻的博客 371

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

[USACO07JAN]平衡的阵容Balanced Lineup

题目:POJ3264、洛谷P2880。 题目大意:有一个序列,每次问你一个区间里最大值与最小值的差。 解题思路:此题是一道RMQ问题,然而我只会线段树啊!于是线段树乱搞。 然后发现又R又T结果是因为读入优化写错了~~~~(>_<)~~~~ C++ Code: #include<cstdio> #include<cctype> usi...

240

[洛谷]P2880 [USACO07JAN]平衡的阵容Balanced Lineup (#树状数组)

题目背景 题目描述: 每天,农夫 John 的N(1 <= N <= 50,000)头牛总是按同一序列排队. 有一天, John 决定让一些牛们玩一场飞盘比赛. 他准备找一群在对列中为置连续的牛来进行比赛. 但是为了避免水平悬殊,牛的身高不应该相差太大. John 准备了Q (1 <= Q <= 200,000) 个可能的牛的选择和所有牛的身高 (1 <= 身高 ...

A.pro的博客 523

【洛谷】P2880 [USACO07JAN]平衡的阵容Balanced Lineup(st表)

题目背景 题目描述: 每天,农夫 John 的N(1 <= N <= 50,000)头牛总是按同一序列排队. 有一天, John 决定让一些牛们玩一场飞盘比赛. 他准备找一群在对列中为置连续的牛来进行比赛. 但是为了避免水平悬殊,牛的身高不应该相差太大. John 准备了Q (1 <= Q <= 180,000) 个可能的牛的选择和所有牛的身高 (1 <= 身高 ...

weixin_30834019的博客 198

平衡的阵容——洛谷——2880——RMQ

我只是刷题练模板的 #include<iostream> #include<cstdio> #include<cmath> using namespace std; inline int read(){ int t=1,num=0;char c=getchar(); while(c>'9'||c<'0'){if(c=...

weixin_30872157的博客 70

洛谷P2216 [HAOI2007]理想的正方形

今天新学了RMQ数据结构,开开心心地刷了一波题。(嗯~~~~我真棒!) 从容易到简单  洛谷P2251 质量检测 https://www.luogu.org/problemnew/show/P2251    普及/提高- 洛谷P1816 忠诚  https://www.luogu.org/problemnew/show/P1816         普及+/提高 洛谷P2880 [USACO...

Jack_Mask的博客 326

009 ST表:静态区间最值的极致优化

ST表是。

weixin_37253733的博客 509

算法之st表

具体地说,我们要找的是一个整数 s ,两个子区间分别为 [l,l+2s−1] 和 [r−2s+1,r]。f,对于范围内的所有f[a][b],先算出并存储 maxi∈[a,a+2b)(Ai) (本文中的区间都是离散意义下的,只包含整数,所以此区间也可以写成[a,a+2b−1] ),这称为。把区间平分为两部分,前半段按定义当然是从 j 到 j+2i−1−1 的最大值,后半段则是从j+2i−1到 j+2i−1+2i−1−1=j+2i−1 的最大值。f(x,y) ,满足 f(a,a)=a ,则f是可重复贡献的。

imlsp12356的博客 445

「学习笔记」ST表

问题引入 先让我们看一个简单的问题,有N个元素,Q次操作,每次操作需要求出一段区间内的最大/小值。 这就是著名的RMQ问题。 RMQ问题的解法有很多,如线段树、单调队列(某些情况下)、ST表等。这里主要探讨ST表 过程 ST表是一种神奇的算法,它以倍增与二进制为基础,实现区间内最大/小值。话不多说,直接切入正题—— 我们这里以求区间最大值为例。 首先,我们可以用O(\(N lg N\))的时间复...

weixin_34248849的博客 150

【ST表RMQ】洛谷P2471 降雨量题解

就是运用倍增的思想和动态规划,用来维护一段区间内的极值,即用。记得获取最大值的时候,因为依题意不讨论。之间的最大值有可能出现两个,就不满足题设了!C.以上两种情况都没有,就可以对。就说明没有所谓的“未知年份”,因此是。之中的其中一个,那么就只需要讨论是。就好了,思路和上面是差不多的。根据所给的年份和降雨量,求出。年以来降雨量最大的,因为在。两个年份相邻时,那么就是。的最大值,这时有需要讨论。自己和自己比较,因此是。年以来降雨量最大的,而。间是否有未知的年份,当。的极值,其转移方程是。间有年份未知,因此是。

m0_60506105的博客 357

洛谷P2216 [HAOI2007]理想的正方形(RMQ+枚举)

这道题可以用RMQ来做。 RMQ原本是对一个数列进行预处理,这里我们只需要对矩阵的每一行都进行一次预处理就好。然后枚举可能的所有的正方形,用RMQ查询这个正方形里面的最大值和最小值,不断更新最大值与最小值之差就好。 // luogu-judger-enable-o2 #include<cstdio> #include<iostream> #include<cstrin...

shamansi99的博客 264
上一篇: 队爷的讲学计划 (强连通缩点+最短路)
下一篇: Tyvj 1577 泥泞的道路 (最小生成树+LCA)
CodeOnce
博客等级 码龄10年 3粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值