/*
区间单点该值,区间查询最大值;
hdu-1754
*/
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
typedef struct
{
int l,r;
int value;
}V;
int n,m,a[]={},MAX=-;
V tr[]={};
void build(int i,int l,int r)
{
tr[i].l=l;
tr[i].r=r;
if(l==r)
{
tr[i].value=a[l];
return ;
}
int mid=(l+r)/;
build(i<<,l,mid);
build(i<<|,mid+,r);
tr[i].value=max(tr[i<<].value,tr[i<<|].value);
}
void Query(int i,int l,int r)
{
if(tr[i].l==l&&tr[i].r==r)
{
MAX=MAX>=tr[i].value?MAX:tr[i].value;
return ;
}
i=i<<;
if(l<=tr[i].r)
{
if(r<=tr[i].r)
Query(i,l,r);
else
Query(i,l,tr[i].r);
}
i+=;
if(r>=tr[i].l)
{
if(l>=tr[i].l)
Query(i,l,r);
else
Query(i,tr[i].l,r);
}
}
void Update(int i,int l,int x)
{
if(tr[i].l==tr[i].r&&tr[i].l==l)
{
tr[i].value=x;
return ;
}
int t=i<<;
if(l<=tr[t].r)
Update(t,l,x);
t+=;
if(l>=tr[t].l)
Update(t,l,x);
tr[i].value=max(tr[i<<].value,tr[i<<|].value);
}
int main()
{
while(scanf("%d%d",&n,&m)!=EOF)
{
memset(a,,sizeof(a));
for(int i=;i<=n;i++)
{
scanf("%d",&a[i]);
}
build(,,n);
/* for(int i=1;i<11;i++)
printf("I:%d %d\n",i,tr[i].value);
*/ char s;
int x1,x2;
while(m--)
{
getchar();
scanf("%c%d%d",&s,&x1,&x2);
if(s=='Q')
{
MAX=-;
Query(,x1,x2);
printf("%d\n",MAX);
}
else
{
Update(,x1,x2);
}
}
}
return ;
}

kb-07专题线段树-02--单点修改,区间最值的更多相关文章

  1. hdu 1754 线段树(单点替换 区间最值)

    Sample Input5 61 2 3 4 5Q 1 5 //1-5结点的最大值U 3 6 //将点3的数值换成6Q 3 4Q 4 5U 2 9Q 1 5 Sample Output5659 # i ...

  2. HDU 1754 I Hate It(线段树之单点更新 区间最值查询)

    I Hate It Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  3. hdu 1754 I Hate It(线段树之 单点更新+区间最值)

    I Hate It                                                                             Time Limit: 90 ...

  4. hdu 1754 线段树(Max+单点修改)

    I Hate It Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  5. hdu 1166 线段树(sum+单点修改)

    敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  6. HDU 3577 Fast Arrangement ( 线段树 成段更新 区间最值 区间最大覆盖次数 )

    线段树成段更新+区间最值. 注意某人的乘车区间是[a, b-1],因为他在b站就下车了. #include <cstdio> #include <cstring> #inclu ...

  7. kb-07专题--线段树-01-单点修改,区间查和

    给定区间长度,然后给两个操作,单点增加值和单点减值,询问一个区间的人数和:(水) 代码如下: /* 写的第一个线段树,丑: */ #include<iostream> #include&l ...

  8. poj3171 Cleaning Shifts【线段树(单点修改区间查询)】【DP】

    Cleaning Shifts Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4422   Accepted: 1482 D ...

  9. I Hate It:线段树:单点修改+区间查询

    I Hate It Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  10. 【线段树(单点修改,区间求和)】HDU1166 - 敌军布阵

    hdu1166 敌兵布阵,单点修改,区间求和. [ATTENTION]MAXN要开成节点数的4倍,开得不够会提示TLE. #include<iostream> #include<cs ...

随机推荐

  1. java8关于LocalDate,Date

    关于java8中的新的时间日期类 public static void main(String[] args) { Date date = new Date(); LocalDate localDat ...

  2. JavaScript -- 内置对象数组

    数组 创建数组的基本方式有两种: 1.使用 Array构造函数 语法:new Array() 小括号( )说明: (1)预先知道数组要保存的项目数量 (2)向Array构造函数中传递数组应包含的项 2 ...

  3. Mybatis学习记录(2)

    1.mybatis与hibernate不同 Mybatis和hibernate,mybatis不完全是一个ORM框架,因为Mybatis需要程序员自己编写sql语句.mybatis可以通过xml或注解 ...

  4. JTT808、JTT809、JTT796、JTT794、JTT1077、JTT1078区别与交通部道路运输车辆卫星定位系统部标标准大全下载地址

    部标JT/T808协议.JT/T809协议.JT/T796标准.JT/T794标准的区别,他们是基于不同的通信场景,不同的通信对象,不同的设计目的和目标而制定出来的.首先要知道这些标准的全称是什么意思 ...

  5. 正确适配苹果ATS审核要求的姿势

    首先,ATS的技术行为不会有任何变化(除了新增两个字段NSAllowsArbitraryLoadsInWebContent和NSRequiresCertificateTransparency,也就是更 ...

  6. java--String、StringBuilder、StringBuffer的解析和比较?

    一.String的解析 1.String的含义 ①String是不可以被继承的,String类是final类,String类是由char[]数组来存储字符串. ②String是不可变的字符序列,如果存 ...

  7. MySQL中文转换成拼音的函数

    CREATE DEFINER=`root`@`localhost` FUNCTION `fristPinyin`(`P_NAME` VARCHAR(255) CHARSET utf8) RETURNS ...

  8. 数据库储存session信息代码

    今天给大家上一段代码,数据库存储session信息,你只需要将下面这段代码放到session文件中,然后再session_start()的地方引入sessiong文件就行啦,当然你就不用再写sessi ...

  9. 双击内容变input框可编辑,失去焦点后修改的数据异步提交

    <html> <head> <meta charset="utf8"> <script src="https://cdn.boo ...

  10. 多线程辅助类之CyclicBarrier(四)

    CyclicBarrier是一个线程辅助类,和<多线程辅助类之CountDownLatch(三)>功能类似,都可以实现一组线程的相互等待.要说不通点,那就是CyclicBarrier在释放 ...