poj 3264 区间最值

poj3264(线段数求最大最小值) Balanced LineupTime Limit:5000MSMemory Limit:65536KTotal Submissions:59847Accepted:28029Case Time Limit:2000MSDescriptionFor the daily milking, Farmer John'sNcows (1 ≤N≤ 50,000) always line... 阅读详情
#include<cstdio>
#include<string.h>
#include<stdlib.h>
#include<algorithm>
#include<cmath>
#include<iostream>
using namespace std;
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1 | 1
const int N=51002;
int Max[N<<2],Min[N<<2],mmax,mmin;
void PushUp(int rt){
  Max[rt]=max(Max[rt<<1],Max[rt<<1|1]);
  Min[rt]=min(Min[rt<<1],Min[rt<<1|1]);
}
void build(int l,int r,int rt){
  if(l==r){
      scanf("%d",&Min[rt]);
      Max[rt]=Min[rt];
     // printf("%d\n",Max[rt]);
      return;
      }
  int mid=(l+r)>>1;
  build(lson);
  build(rson);
  PushUp(rt);
}
 int query(int L,int R,int l,int r,int rt){

    if(l>=L && r<=R){
      return Min[rt];
    }
     int mid=(l+r)>>1;
     int  MM=1100000;
     if(mid >= L)
      MM=min(MM,query(L,R,lson));
     if(mid < R)
      MM=min(MM, query(L,R,rson));
   //  MM=min(query(L,mid,lson),query(mid+1,R,rson));
    //MMM=make_pair(max(max(MM.first,MM.second),max(M.first,M.second)),min(min(MM.first,MM.second),min(M.first,M.second)));
    return MM;
}
int Query(int L,int R,int l,int r,int rt){
    if(l>=L&&r<=R){
      return Max[rt];
    }
     int mid=(l+r)>>1;
     int res=0;
     if(L<=mid)
      res= max(res,Query(L,R,lson));
     if(mid <R)
      res =max(res,Query(L,R,rson));
    return res;
}
#define Fin freopen("1.txt","r",stdin);
#define Fout freopen("2.txt","w",stdout);
int main(){
   // Fin
   // Fout
     int a,b;
     int n,m;
     while(~scanf("%d%d",&n,&m)){
     build(1,n,1);
     while(m--){
       scanf("%d%d",&a,&b);
       //int Q=query(a,b,1,n,1);
        printf("%d\n",Query(a,b,1,n,1)-query(a,b,1,n,1));
      }

     }
  return 0;
}
水题不解释,不过正在想能不能一下返回最大值和最小值,比如用pair<int,int>,这题也可以用RMQ在线来搞:
线段树入门学习(三)懒操作(兼解POJ1823) JAVA NULL 博文链接:https://128kj.iteye.com/blog/1739733 立即下载

相关推荐

基因家族快速鉴定指南:Windows平台下的HMMER实战解析

本文详细解析了在Windows平台下使用HMMER工具进行基因家族快速鉴定的完整实战流程。通过手把手指导,从软件获取、数据准备到模型构建与序列搜索,帮助生物信息学新手无需Linux环境,即可高效完成bZIP转录因子等家族的鉴定工作,大幅降低分析门槛。

weixin_29255731的博客 460

POJ-3264-Balanced Lineup

POJ-3264-Balanced Lineup http://poj.org/problem?id=3264 线段树,求区间的最大值与最小值之差 #include&lt;stdio.h&gt; #include&lt;string.h&gt; #include&lt;stdlib.h&gt; #define N 50005 #define INF 0x7ffffff int num[N]...

fuerbosi 161

Nuvoton OpenTitan开源安全芯片技术解析与应用

硬件安全模块(HSM)作为可信计算基的核心组件,其设计透明度和可验证性正成为行业焦点。RISC-V架构凭借开源特性,为构建可审计的安全芯片提供了新范式。OpenTitan项目通过开放Verilog源码和形式化证明,实现了从物理不可克隆函数(PUF)到分层安全启动的全栈透明。该方案在lowRISC Voyager开发板上实测显示,安全启动时间小于200ms,性能损耗仅7%,显著优于传统黑盒方案。目前该技术已应用于Chromebook和数据中心,其40nm工艺版本更将功耗降至5μA待机水平,为物联网和边缘计算提

weixin_36303807的博客 402

POJ 3264

POJ 3264

transbit的博客 276

MATLAB下pdf文件操作读取示例

当遇到一些需要大量数据的项目,数据的读取与储存显得尤为重要。怎样把数据从其他格式的文件中读取,并运用到程序中是很多时候我们要解决的问题。对于平常的.txt,和.xlsx文件,MATLAB有对应的函数帮助读取,但是遇到pdf文件时MATLAB很难读取内容。本文以一个操作实例提供了一个从pdf文件中读取数据的方法。

UESTC 五高考3模拟的博客 6559

华为2288H V5服务器断电后‘趴窝’?别慌,手把手教你用SmartKit+BMC修复工具搞定

本文详细介绍了华为2288H V5服务器在断电后无法启动的修复方法,通过SmartKit和BMC修复工具进行故障诊断与修复。文章提供了从工具获取、安装到具体修复流程的完整指南,帮助运维人员快速恢复服务器运行,并给出了后续加固与预防措施,确保服务器稳定运行。

weixin_30575517的博客 297

POJ-3264(标准RMQ)

本题为标准RMQ问题,

还有多远 754

Windows打印体系结构之Windows内置打印驱动程序

时间是一种很残酷的东西,它只会冲淡能够冲淡的,但也会洗尽铅华帮你留下该留下的。1.3.4、Windows内置打印驱动程序现在的Windows下的打印机驱动程序通常分为V4打印机驱动程序(V4 Printer Driver)、XPS打印机驱动程序(XPSDrv)、微软通用打印机驱动程序(Microsoft UniversalPrinter Driver)、微软PostScri...

weixin_34309435的博客 2254

POJ 3264 Balanced Lineup 区间最值

POJ3264比较裸的区间最值问题。用线段树或者ST表都可以。此处我们用ST表解决。 ST表建表方法采用动态规划的方法, ST[I][J]表示数组从第I位到第 I+2^J-1 位的最值,用二分的思想建立动规方程。 查询方法就不用说了 非常简单。 我这个查询写的稍微有点问题, 理想的ST表查询应该是O(1)的 我写成了O(logn) #include<iostream> ...

weixin_30457551的博客 121

C/C++ 计算程序运行的时间

C/C++计算程序执行时间的方法,精度依次增加,推荐度也依次增加 1.#include <time.h> clock_t start, finish; double process_interval ; start=clock(); process(); //要计时的程序 finish=clock(); process_interval =(double)(finish-star...

stu_shanghui的博客 1020

YOLOv8独家原创改进:原创自研 | 创新自研CPMS注意力,多尺度通道注意力具+多尺度深度可分离卷积空间注意力,全面升级CBAM

自研CPMS,多尺度通道注意力具+多尺度深度可分离卷积空间注意力,全面升级CBAM

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 3798

poj3264 树状数组维护区间最值

树状数组维护区间最值类似于RMQ是一种易于理解,容易实现的方法。其方法是用数组c[i]记录c[i-lowbit(i)+1] ~ c[i]的最值; 对于更新节点i:则节点i影响到的节点都得更新,即:for(int  j = i; j 对于查询区间[u,v]最大值:查询比较麻烦,具体看例题解释;充分利用lowbit的性质逐步缩小区间的长度 poj3264 #include #include #

ZT在努力 924

ESP32设备驱动-AS5600磁性旋转位置传感器

AS5600 是一款可编程的 12 位高分辨率非接触式磁性旋转位置传感器。 AS5600可以作为磁性电位器或磁性编码器使用,具有出色的可靠性和耐用性。 与传统电位器/编码器相比,AS5600具有显着优势:高精度、非接触式、旋转角度无限制。 所有这些优点使其适用于非接触式角度测量应用,例如机器人手臂、云台、电机闭环控制、机床轴定位。

视觉与物联智能 2553

POJ-3264 求区间最值的差值

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 keep things s...

XYBDX的博客 280

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

POJ_3264_线段树区间最值

POJ 3264 线段树每个节点区间中区间上的最大值和最小值 询问时找到符合的区间,不符合就二分,然后更新合并区间的最大最小值 #include <iostream> #include <string.h> #include <algorithm> using namespace std; const int maxn = 5e4+5; struct seg...

_llc的博客 196

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【POJ 3264】线段树维护区间最值

1.题目链接。题意就是给你一个序列,完后Q组询问 ,每次询问(l,r)区间内最大值和最小值之差。RMQ其实可以很简单的解决,不过最近在复习线段树,就用线段树写一下。 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> using namespace std;...

YG爱木木 841

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

【POJ No. 3264】区间最值差 Balanced Lineup

【POJ No. 3264】区间最值差 Balanced Lineup

代码改变世界 568

POJ 3264 Balanced Lineup ST表(区间最值问题RMQ)

问题翻译 对于每天的挤奶,农夫约翰的N头奶牛(1≤N≤50,000头)总是按照相同的顺序排着队。 一天,农夫约翰决定和一些奶牛组织一场极限飞盘游戏。 为了简单起见,他将从挤奶队伍中挑选连续的奶牛来玩游戏。 然而,对于所有的奶牛来说,它们的身高不应该相差太多。 Farmer John列出了Q(1≤Q≤20万)潜在牛群及其身高(1≤身高≤1,000,000)。 对于每一组,他希望你帮助确定组中最矮的奶牛和最高的奶牛之间的身高差异。 输入 第1行:两个用空格分隔的整数N和Q。 行2 . .N+1:第i+1行

明月千里赴迢遥的博客 299

POJ 3264 Balanced Lineup【简单线段树,区间最值,无更新】

简单线段树,区间最值之差,没有更新。 注意细节呀。。。

AC_Dreameng 1196

poj 3264 求区间最值

每个节点保存区间的最大最小值 水题不解释╮(╯▽╰)╭ #include #include #include #include #define lson l , mid, dex<<1 #define rson mid+1, r, dex<<1|1 #define havemid int mid = (l+r)>>1 #define LL long long using namespa

573

POJ 3264:区间最值差 ← 分块

【问题描述】 题目来源:http://poj.org/problem?id=3264 在每天挤奶的时候,农民约翰的N头牛(1≤n≤50000)总是排成一列。有一天,约翰决定与他的牛们一起玩一个极限飞盘游戏。为了简单起见,他将从奶牛队列里面选一定范围内的奶牛来玩这个游戏。然而所有的牛对这个游戏都很感兴趣。农民约翰列出了Q份名单(1≤Q≤200000)和每个奶牛的高度(1≤高度≤1000000)。对于每一份名单,他想你帮助他确定在每份名单中高度最高的奶牛与高度最低的奶牛的高度差是多少。【输入格式】 第一行为N

hnjzsyjyj的专栏 243

POJ 3264 树状数组 区间最值查询

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

爱生活爱AC 599

POJ3264 询问区间最值(不用维护

POJ3264 简单板子 // Decline is inevitable, // Romance will last forever. //#include <bits/stdc++.h> #include <iostream> #include <cmath> #include <cstring> #include <string> #include <cstdio> #include <algorithm> #i

Strezia的博客 174

【POJ No. 3264】 区间最值差 Balanced Lineup

【POJ No. 3264】 区间最值差 Balanced Lineup

代码改变世界 263

poj 3264 Balanced Lineup线段树区间最值差

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

The_star_is_at的博客 410

POJ - 3264 G - Balanced Lineup 区间最值

Balanced LineupTime Limit: 5000MS Memory Limit: 65536KTotal Submissions: 60899 Accepted: 28494Case Time Limit: 2000MSDescriptionFor the daily milking, Farmer John's N cows (1 ≤ N ≤ 50,000) always line...

Uniontake 270
上一篇: poj hotel线段树区间合并
下一篇: cf 160 div2 A python搞的水题一枚
Java_beginer1
博客等级 码龄16年 22粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值