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

洛谷P2880 [USACO07JAN] Balanced Lineup G

题目描述

每天,农夫 John 的 n (1\leqslant n\leqslant 5\times 10^4) 头牛总是按同一序列排队。

有一天,John 决定让一些牛们玩一场飞盘比赛。他准备找一群在队列中位置连续的牛来进行比赛。但是为了避免水平悬殊,牛的身高不应该相差太大。John 准备了 q (1\leqslant q\leqslant 1.8\times10^5) 个可能的牛的选择和所有牛的身高 h_i​ (1\leqslant h_i\leqslant 10^6,1\leqslant i\leqslant n)。他想知道每一组里面最高和最低的牛的身高差。

输入格式

第一行两个数 n,q。

接下来 n 行,每行一个数 h_i

再接下来 q 行,每行两个整数 a 和 b,表示询问第 a 头牛到第 b 头牛里的最高和最低的牛的身高差。

输出格式

输出共 q 行,对于每一组询问,输出每一组中最高和最低的牛的身高差。

输入输出样例

输入 #1

6 3
1
7
3
4
2
5
1 5
4 6
2 2

输出 #1

6
3
0

代码

#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,q,a,b,h;
int main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);cin>>n>>q;ll len=ceil(log2(n));vector<vector<ll>>h_max(n+5,vector<ll>(len+5,0));vector<vector<ll>>h_min(n+5,vector<ll>(len+5,0));for(ll i=1;i<=n;i++){cin>>h;h_max[i][0]=h;h_min[i][0]=h;}for(ll j=1;(1<<j)<=n;j++){for(ll i=1;i+(1<<j)-1<=n;i++){h_max[i][j]=max(h_max[i][j-1],h_max[i+(1<<(j-1))][j-1]);h_min[i][j]=min(h_min[i][j-1],h_min[i+(1<<(j-1))][j-1]);}}while(q--){cin>>a>>b;ll x=floor(log2(b-a+1));ll top=max(h_max[a][x],h_max[b-(1<<x)+1][x]);ll bottom=min(h_min[a][x],h_min[b-(1<<x)+1][x]);cout<<top-bottom<<"\n";}return 0;
}

http://www.dtcms.com/a/300908.html

相关文章:

  • Java面试新趋势:云原生与新兴框架实战解析
  • 计算机网络:(十二)传输层(上)运输层协议概述
  • Docmost:一款开源的Wiki和文档协作软件
  • 【Linux | 网络】传输层(UDP和TCP)
  • 电动汽车转向系统及其工作原理
  • 深入理解Linux网络-读书笔记(一)
  • 新手开发 App,容易陷入哪些误区?
  • 北京-4年功能测试2年空窗-报培训班学测开-第六十一天-模拟面试第一次
  • 数据结构基础内容(第二篇:线性结构)
  • 智谱AI GLM大模型 GLM-4-Plus的快速使用 ChatOpenAI类来调用GLM-4模型
  • 2025第15届上海生物发酵展将于8月7号启幕
  • HBuilder X打包发布微信小程序
  • PDF转图片实用指南:如何批量高效转换?
  • cuda编程笔记(10)--memory access 优化
  • 《P4568 [JLOI2011] 飞行路线》
  • Flutter开发实战之性能优化与调试
  • 自动标注软件X-AnyLabeling的使用教程
  • OpenLayers 综合案例-地图绘制
  • 深入理解Linux网络--读书笔记(二)
  • HDFS基础命令
  • 简易 BMI 身体质量指数计算器
  • 墨者:SQL注入漏洞测试(布尔盲注)
  • FastAPI入门:查询参数模型、多个请求体参数
  • (LeetCode 面试经典 150 题)71. 简化路径 (字符串)
  • 小白投资理财 - 从换手率和成交量分析股票趋势
  • Vue vuex模块化编码
  • 网络资源模板--基于Android Studio 实现的新闻App
  • 自由学习记录(74)
  • 基于混沌系统的图像加密学习日志——论文学习3
  • unity3dTextMeshPro 设置中文字体,解决中文显示为框或中文字后面带背景颜色的问题