poj 3264 Balanced Lineup(简单线段树)

【学习笔记】高级数据结构--线状树 poj 3264 #include#include #includeusing namespace std;const int INF=0xffffff0;int minV= INF;int maxV= -INF;struct Node{//定义了树中每个节点的信息 int L,R; //树节点的左孩子L,右孩子R int minV,maxV; //在树节点中记录在其范围内的max和min int Mid(){ / 阅读详情

题目大意:输入N个数和Q个查询,每次查询区间[L,D]中的最大数和最小数的差。
题解:用线段树记录区间的最大值和最小值,输出相减的结果即可。


#include <iostream>
#include <stdio.h>

using namespace std;

struct node{
    int l,r;
    int minN,maxN;
};

node tree[200005];
int n,q,a[50005],l,r,maxN,minN;

void buildTree(int root,int l,int r){//建树
    tree[root].l = l;
    tree[root].r = r;
    if(l == r){
        tree[root].minN = a[l];
        tree[root].maxN = a[l];
        return;
    }
    buildTree(2*root,l,(l+r)/2);
    buildTree(2*root+1,(l+r)/2+1,r);
    tree[root].minN = min(tree[2*root].minN,tree[2*root+1].minN);
    tree[root].maxN = max(tree[2*root].maxN,tree[2*root+1].maxN);
}

void query(int root,int l,int r){//查询区间l,r的最大值、最小值,将值存在全局变量
    if(tree[root].l == l && tree[root].r == r){
        minN = min(minN,tree[root].minN);
        maxN = max(maxN,tree[root].maxN);
        return;
    }
    int mid = (tree[root].l+tree[root].r)/2;
    if(r <= mid){
        query(2*root,l,r);
    }
    else if(l > mid){
        query(2*root+1,l,r);
    }
    else{
        query(2*root,l,mid);
        query(2*root+1,mid+1,r);
    }
}

int main()
{
    scanf("%d%d",&n,&q);
    for(int i = 1; i <= n; i ++){
        scanf("%d",&a[i]);
    }
    buildTree(1,1,n);
    for(int i = 0; i < q; i ++){
        scanf("%d%d",&l,&r);
        maxN = 0;
        minN = 10000000;
        query(1,l,r);
        printf("%d\n",maxN - minN);
    }
    return 0;
}




        
ANSYS Workbench接触分析实战:从算法选择到收敛难题破解 本文深入解析ANSYS Workbench接触分析的核心技术与实战技巧,涵盖四大接触算法选择、收敛难题破解秘籍及典型场景参数设置。通过实际案例演示如何优化接触刚度、pinball区域和非对称行为等关键参数,帮助工程师有效解决结构非线性问题,提升仿真效率和精度。 阅读详情

相关推荐

RK3588零拷贝视频流水线实战:用GStreamer+Mpp实现8K硬解与DRM显示

本文深入探讨了在RK3588平台上构建零拷贝视频流水线的工程实践。通过结合GStreamer与MPP,实现了从8K视频硬解到DRM显示的全流程硬件加速,有效解决了高分辨率视频处理中的DDR带宽瓶颈问题。文章详细解析了dma-buf数据流机制、管道构建与性能优化策略,为多路视频并发处理提供了高效的系统架构解决方案。

github5actions的博客 1165

poj 3264(线段树)

http://poj.org/problem?id=3264 初学线段可以做的水题,也是线段树的基础运用。也是我的第一个线段树的题。 题意:在区间范围内的最大值减去最小值 思路:线段树记录下每个区间内的最大值以及最小值,然后查询。 我也是第一次做,然后耗时比较多。 1 #include <stdio.h> 2 #include <string.h&g...

A1823085974的博客 254

深入探讨 VQ-VAE:理解变分量化自动编码器

VQ-VAE代表"Variational Quantized Variational Autoencoder",是一种生成模型,通常用于处理高维数据,如图像和音频。它的设计灵感来自于变分自动编码器(VAE)和量化方法,结合了它们的优点,使得 VQ-VAE 能够生成高质量的数据,并在数据表示上引入离散性。VQ-VAE 是一种强大的生成模型,结合了变分自动编码器和量化方法的优点。它在图像和音频生成、数据压缩和生成性对抗网络等领域具有广泛的应用。

DeepViewInsight的博客 7014

poj3264(简单线段树)

题目链接:https://vjudge.net/problem/POJ-3264 题意:线段树简单应用题,区间查询最大值和最小值的差。 思路:用线段树维护区间的最大值和最小值即可。 AC代码: #include<cstdio> #include<algorithm> using namespace std; const int maxn=50005; ...

weixin_33804582的博客 266

Fluent 中多相流模型全面解析

3.颗粒或液滴在连续相中的运动:若关注颗粒或液滴在连续相中的运动轨迹、分布规律以及与连续相的相互作用,如喷雾干燥、气力输送等过程,Eulerian-Lagrangian 模型则是最佳选择。Eulerian-Eulerian 模型可以准确模拟气体在固体颗粒中的流动情况,包括颗粒的流化状态、气体与颗粒之间的传热传质过程,为气固流化床的优化设计和操作提供依据。通过该模型,可以了解混合器内不同位置的混合程度、颗粒的运动轨迹以及液固相间的相互作用,从而改进混合器的结构和操作条件,提高混合效率。

khhdp的博客 3085

HALCON基于描述符的模板匹配(未标定)

HALCON基于不标定描述符的模板匹配

king_linj的博客 890

POJ3264——Balanced Lineup(线段树)

本文出自:http://blog.youkuaiyun.com/svitter 题意:在1~200,000个数中,取一段区间,然后在区间中找出最大的数和最小的数字,求这两个数字的差。 分析:按区间取值,很明显使用的线段树。区间大小取200000 * 4 = 8 * 10 ^5;           进行查询的时候,注意直接判断l, r 与mid的关系即可,一开始写的时候直接与tree[root]

svitter的专栏 1591

【C2000系列DSP的Bootloader详解】实现过程、流程图与示例代码

C2000 Bootloader 的核心逻辑可概括为 “初始化→选模式→加载程序→校验→跳转” 五步。对于小白来说,无需纠结底层寄存器配置(驱动库已封装),重点理解 “启动流程” 和 “数据传输 + 校验” 的核心思想即可。 通过本文的流程图和示例代码,相信你已经掌握了 C2000 Bootloader 的核心原理。实际开发中,可基于 TI 提供的 Bootloader 示例(C2000Ware 中自带)进行修改,快速适配自己的硬件和应用场景。

昔时扬尘处 368

POJ 3264

POJ 3264

transbit的博客 276

18、地下矿山中人工智能在区分真实微震事件与噪声信号的应用

本文提出一种基于遗传编程(GP)的新型经验模型,用于地下矿山中真实微震事件与噪声信号(特别是爆破信号)的自动区分。针对传统方法和常见机器学习算法存在的黑箱问题、过拟合及准确性不足等局限,GP模型通过符号回归和进化机制生成可解释的数学表达式,具备自动特征选择能力,有效提升了分类准确率。研究使用包含100个样本的真实数据库,结合敏感性分析优化模型参数,并与线性判别分析(LDA)进行对比,结果表明GP模型在分类性能上更具优势。该模型可应用于实时微震监测系统,提高矿山安全生产水平,降低误判带来的成本开销,具有良好的

assembly8low的博客 94

100天精通Python(基础篇)——第3天:运算符全解析(算术运算符、比较运算符、逻辑运算符、赋值运算符及其优先级规则)

100天精通Python(基础篇)——第3天:运算符全解析(算术运算符、比较运算符、逻辑运算符、赋值运算符及其优先级规则)

努力让自己发光,对的人才能迎着光而来 14万+

poj3264Balanced Lineup(线段树)

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

luckcircle的博客 349

软件可靠性测试与评价

本文系统介绍了软件可靠性工程的核心内容,包括可靠性概念、模型分类、测试方法和评价体系。重点解析了可靠性测试的三大步骤:定义运行剖面、设计测试用例和实施测试收集数据,并以智能安防系统为例说明具体应用。可靠性评价需结合业务场景,通过量化指标(MTBF、失效率等)和模型预测持续优化系统。文章强调可靠性需贯穿软件全生命周期,通过闭环反馈实现持续改进,为关键系统提供质量保障。

moton2017的博客 2049

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

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

panyanyany(飞雨幻沙) 1315

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Balanced Lineup poj3264 线段树

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

weixin_30367169的博客 152

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

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

[线段树] 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

poj3264 Balanced Lineup 线段树

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

Joel 274

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

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 线段树 / 平方分割

给出一个长度为 n(n

qq_53038151的博客 297

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 (线段树模板题)

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

poj 3264 Balanced Lineup简单线段树

加了挂立减1s= = #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define lson l, mid, rt << 1 #define rson mid + 1, r, r

uuuuuu 425

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

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

weixin_30795127的博客 119
下一篇: hdu 3577 Fast Arrangement(线段树+lazy)
accelerator_2016
博客等级 码龄11年 3粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值