POJ 3264 - Balanced Lineup(线段树)

【VisionMaster】图像源模块之本地图像 图像采集之图像源 阅读详情

Balanced Lineup
Time Limit: 5000MS Memory Limit: 65536K
Total Submissions: 29686 Accepted: 14001
Case Time Limit: 2000MS

Description

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.

Input

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.

Output

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.

Sample Input

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

Sample Output

6
3
0


===========================


#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define N 222222

using namespace std;

int num[N],MAX,MIN;

struct Tree
{
    int l;
    int r;
    int max;
    int min;
} tree[N*4];

void push_up(int root)
{
    tree[root].max=max(tree[root<<1].max,tree[root<<1|1].max);
    tree[root].min=min(tree[root<<1].min,tree[root<<1|1].min);
}

void build(int root,int l,int r)
{
    tree[root].l=l;
    tree[root].r=r;
    if(tree[root].l==tree[root].r)
    {
        tree[root].max=num[l];
        tree[root].min=num[l];
        return;
    }
    int mid=(l+r)/2;
    build(root<<1,l,mid);
    build(root<<1|1,mid+1,r);
    push_up(root);
}

void update(int root,int pos,int val)
{
    if(tree[root].l==tree[root].r)
    {
        tree[root].max=val;
        tree[root].min=val;
        return;
    }
    int mid=(tree[root].l+ tree[root].r)/2;
    if(pos<=mid)
        update(root<<1,pos,val);
    else
        update(root<<1|1,pos,val);
    push_up(root);
}

void query(int root,int L,int R,Tree tree[])
{
    if(L<=tree[root].l&&R>=tree[root].r)
    {
        MIN=min(MIN,tree[root].min);
        MAX=max(MAX,tree[root].max);
        return;
    }
    int mid=(tree[root].l+tree[root].r)/2;
    if(L<=mid) query(root<<1,L,R,tree);
    if(R>mid) query(root<<1|1,L,R,tree);
}

int main()
{
    int n,q,a,b;
    scanf("%d%d",&n,&q);
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&num[i]);
    }
    build(1,1,n);
    for(int i=0;i<q;i++)
    {
        scanf("%d%d",&a,&b);
        MAX=-1;MIN=1e9;
        query(1,a,b,tree);
        printf("%d\n",MAX-MIN);
    }
    return 0;
}


别再只调电压了!深入理解数控电源的CC/CV模式与双闭环PID控制(以BUCK电路为例) 本文深入解析数控电源的CC/CV模式与双闭环PID控制技术,以BUCK电路为例,探讨如何通过双闭环控制优化负载突变响应和模式切换稳定性。文章详细介绍了电压环与电流环的协同工作原理、PID参数整定技巧及工程实践中的非线性补偿方法,帮助工程师提升电源设计的智能控制能力。 阅读详情

相关推荐

针对中文CLIP模型训练失效的解决方案记录

解决了中文CLIP模型无法正确训练的问题

weixin_45906434的博客 1621

poj3264Balanced Lineup(线段树)

poj3264Balanced Lineup Balanced Lineup Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 48911   Accepted: 22908 Case Time Limit: 2000MS Description

luckcircle的博客 349

手把手教你用西门子博图V18配置阿特拉斯PF6000拧紧枪PN通讯(附完整GSD文件与ToolsTalk配置文件)

本文详细介绍了如何使用西门子博图V18配置阿特拉斯PF6000拧紧枪的PN通讯,包括硬件连接、网络参数规划、ToolsTalk软件配置及博图工程设置。通过完整的GSD文件和配置文件,帮助工程师快速实现高精度拧紧设备与PLC的高效通讯,适用于汽车装配和电子制造等工业自动化场景。

weixin_42662293的博客 602

【线段树 + 详细注释】北大 poj 3264 Balanced Lineup

/* THE PROGRAM IS MADE BY PYY */ /*----------------------------------------------------------------------------// Copyright (c) 2011 pan

panyanyany(飞雨幻沙) 1315

01-FreeSWITCH 的安装、部署、配置以及可能遇到的问题和解决方法

一文让您了解从FreeSWITCH 的安装、部署、配置、可能遇到的问题及解决方法。一切从实际项目出发,以工程应用为目的。

秋风的博客 2127

视频编解码——视频编解码器工作原理

目录什么是视频编解码器为什么需要视屏编解码器视频编码器与数字视频容器时评编码器的历史 什么是视频编解码器 简单来说就是用于压缩或解压数字视频的软件或硬件 编码是信息从一种形式或格式转换为另一种形式的过程,解码是编码的反向。 适用于视频 编码是将视频、音频的原始格式的文件通过压缩技术转换成另一种格式(视频如h.264,h.265,m-jpeg等)。 解码是编码的反向过程。应用中,一般是将h.264,h.265格式数据解码成如YUV格式裸流交给显示器显示。 为什么需要视屏编解码器 需要在有限的带宽或存储空间

路人coder 1万+

Balanced Lineup poj3264 线段树

Balanced Lineup poj3264 线段树 题意 一串数,求出某个区间的最大值和最小值之间的差 解题思路 使用线段树,来维护最大值和最小值,使用两个查询函数,一个查区间最大值,一个查区间最小值,然后做差就好了,基本上就是线段树模板题 代码实现 #include<cstdio> #include<cstring> #include<algorit...

weixin_30367169的博客 152

【TCAD】AlGaN 器件的Sentaurus仿真

否则,必须在 LatticeParameters Sentaurus Device 的参数文件中的部分。Sentaurus Device 有两个工具实例:第一个工具实例, sd_fdiv ,模拟正向偏置特性,第二个工具实例, sd_rviv ,模拟反向偏置特性直至击穿。对于牛顿求解器,通常应该将非线性迭代次数限制为一个足够小的值,例如 Iterations=20 ,同时通过指定非阻尼迭代次数高于允许的牛顿迭代次数来避免解的阻尼( NotDamped=30 )。晶胞中的 Ga-N 键为橙色。

荷塘阅色 1215

POJ3264 Balanced Lineup(线段树)

POJ3264http://poj.org/problem?id=3264 线段树模版。 题目大意: Q次区间查询。 AC代码: #include <iostream> #include <cstdio> #include <cmath> using namespace std; const int maxn = 50000 + 5; int a[...

Sensente的博客 292

通过轻量级图像增强Transformer (IAT) 提升YOLOv8在低光环境下的检测性能

随着深度学习和计算机视觉的快速发展,目标检测模型在各个领域中的应用不断扩展,特别是在低照度环境下的视觉任务。YOLOv8作为当前最先进的目标检测模型之一,在高亮度和良好照明条件下表现出色,但在低照度环境下的性能存在一定的不足。为了解决这一问题,我们提出了一种轻量级的低照度图像增强网络(IAT)来改进YOLOv8的暗光检测能力。本篇文章将深入探讨这一创新改进,并附带代码实现,帮助大家更好地理解这一技术的应用和效果。

博客 1214

NVIDIA Isaac GR00T N1 人形机器人强化学习入门教程(二)详细步骤

LeRobot 格式 1.1 加载数据集 要加载数据集,我们需要定义以下 3 项内容: 在数据中显示图像帧 我们还可以对 LeRobotSingleDataset 类中的数据进行一系列转换。下面展示了如何对数据进行转换。 现在看看应用转换后的数据有何不同。 例如,对状态和操作进行规范化和串联,对视频图像进行裁剪、调整大小和颜色抖动。 二、GR00T 推断 本教程介绍如何使用 GR00

2506_90492529的博客 3013

[线段树] POJ 3264 balanced lineup

Balanced LineupTime Limit: 5000MS Memory Limit: 65536K Total Submissions: 33267 Accepted: 15615 Case Time Limit: 2000MS Description For the daily milking, Farmer John’s N cows (1 ≤ N ≤ 50,000) al

童凌的技术博客 596

RK3588平台开发系列讲解(项目篇)常见模型结构

📢 AI 模型常采用人工神经网络来模拟人脑神经的记忆和处理信号的能力。常见的人工神经网络类型有深度神经网络(Deep Neural Network,DNN)、卷积神经网络(Convolutional Neural Network,CNN)、循环神经网络(Recurrent Neural Network,RNN)等。

内核笔记 1758

poj3264 Balanced Lineup 线段树

题目链接在这里 题目描述: 给出n个数q次询问,每次询问求[ x, y ]区间最大的数减去最小的数的结果。 思路分析: 用线段树的每个节点存储子节点的最大数和最小数,叶子节点的最大数和最小数是自己。 代码如下: #include &lt;cstdio&gt; #include &lt;cstring&gt; #include &lt;algorithm&gt; #include &l...

Joel 274

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

POJ3264Balanced Lineup(经典线段树)

Balanced Lineup Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 39618   Accepted: 18600 Case Time Limit: 2000MS Description For the daily milking, Farme

ACMan 456

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

POJ 3264 Balanced Lineup 线段树 / 平方分割

给出一个长度为 n(n

qq_53038151的博客 297

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

poj 3264 Balanced Lineup - 线段树

Description 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 c...

adx33526的博客 231

poj 3264 Balanced Lineup(线段树、RMQ)

题目链接:http://poj.org/problem?id=3264 思路分析: 典型的区间统计问题,要求求出某段区间中的极值,可以使用线段树求解。 在线段树结点中存储区间中的最小值与最大值;查询时使用线段树的查询 方法并稍加修改即可进行查询区间中最大与最小值的功能。 代码(线段树解法): #include <limits> #include &l...

aqjh9999的博客 147

POJ 3264 Balanced Lineup 【线段树】

Balanced Lineup Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 50004 Accepted: 23434 Case Time Limit: 2000MS DescriptionFor the daily milking, Farmer John’s N cows (1 ≤ N ≤

博客已搬迁到http://www.cnblogs.com/cniwoq/ 351

poj 3264 Balanced Lineup(线段树无区)

题目链接:    http://poj.org/problem?id=3264 题目大意:   给出初始化的区间值,m次查询                   每次查询区间[a,b]的最大值-最小值 解题思路:   线段树    更新: 无更新    查询:区间查询                   建立线段树的时候,每个结点存储左右子树的最大值和最小值

ンZee的解题报告 2452

POJ_3264 Balanced Lineup 【线段树 + 区间查询】

一、题面 POJ3264 二、分析 典型的线段树的题,没有更新只有查询。 查询的时候需要注意的是,在判断区间是完全属于右子树还是左子树时,要根据建树的情况来选择,不然会出错。具体看代码 三、AC代码 1 #include <cstdio> 2 #include <cstdio> 3 #include <iostream> 4 #in...

weixin_30795127的博客 119

poj 3264 Balanced Lineup (线段树模板题)

Balanced Lineup Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 40175   Accepted: 18865 Case Time Limit: 2000MS Description For the daily milking, Farme

01的世界 625

poj3264 Balanced Lineup(线段树水题)

题目大意:给定n个值,执行q次查询,输出区间最大值和区间最小值的差。 解题思路:维护两颗线段树,一颗维护区间最大值,一颗维护区间最小值即可。 做的时候忘了开4倍数组re了一次,cin、cout超时又tle了一次,可以说很蠢了emmmmmmm #include<iostream> #include<algorithm> #include<cstdio> u...

青鱼的博客 213

POJ3264 Balanced Lineup 线段树||RMQ

题目链接:http://poj.org/problem?id=3264 题目大意:给出一个序列,Q次查询,每次查询找出该区间内最大值和最小值的差。 分析:线段树和RMQ都可以。 线段树实现代码如下(2412K,2188MS): #include #include #include using namespace std; const int maxn=5000

AC_Gibson的专栏 526

poj 3264 Balanced Lineup(线段树)

题目链接:http://poj.org/problem?id=3264 思路: 线段树,维护最大值最小值之差。 一开始蠢得要死,写了两个Query维护最大最小值,后来在网上参考大神的优化了一下。 #include #include #include #include #include #include #include #include #include #inc

Where amazing happens 386

poj 3264 Balanced Lineup 线段树

Balanced Lineup Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 57383   Accepted: 26886 Case Time Limit: 2000MS Description For the daily milking, Farme

看起来喜欢做枯燥事情的人或许只是更清楚自己想要什么罢了 237
上一篇: POJ 2139 - Six Degrees of Cowvin Bacon(floyd)
下一篇: POJ 3026 - Borg Maze(最小树+BFS)
coco430
博客等级 码龄14年 9粉丝 107原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值