传送门

有更新单个学生成绩和查询某个区间内学生成绩最大值两种操作

线段树代码

 #include<bits/stdc++.h>
using namespace std;
const int maxn=+;
using namespace std;
int a[maxn*];
const int INF=0x3f3f3f3f;
void PushUp(int i)
{
a[i]=max(a[i*],a[i*+]);
}
void build(int i,int l,int r)
{
if(l==r)
{
scanf("%d",&a[i]);
return;
}
int m=(l+r)/;
build(i*,l,m);
build(i*+,m+,r);
PushUp(i);
}
int query(int ql,int qr,int i,int l,int r)
{
if(ql<=l&&r<=qr)
return a[i];
int m=(l+r)/;
int maxx=-INF;
if(ql<=m)
maxx=max(maxx,query(ql,qr,i*,l,m));
if(qr>m)
maxx=max(maxx,query(ql,qr,i*+,m+,r));
return maxx;
}
void update(int id,int val,int i,int l,int r)
{
if(l==r)
{
a[i]=val;
return;
}
int m=(l+r)/;
if(id<=m)
update(id,val,i*,l,m);
else
update(id,val,i*+,m+,r);
PushUp(i);
}
int main()
{
int n,m;
while(~scanf("%d %d",&n,&m))
{
build(,,n);
while(m--)
{
char str[];
int x,y;
scanf("%s%d%d",str,&x,&y);
if(str[]=='Q')
printf("%d\n",query(x,y,,,n));
else
update(x,y,,,n);
}
}
return ;
}

hdu1754 I Hate It(线段树单点更新,区间查询)的更多相关文章

  1. HDU.1166 敌兵布阵 (线段树 单点更新 区间查询)

    HDU.1166 敌兵布阵 (线段树 单点更新 区间查询) 题意分析 加深理解,重写一遍 代码总览 #include <bits/stdc++.h> #define nmax 100000 ...

  2. NYOJ-568/1012//UVA-12299RMQ with Shifts,线段树单点更新+区间查询

    RMQ with Shifts 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 ->  Link1  <- -> Link2  <- 以上两题题意是一样 ...

  3. hihoCoder week19 RMQ问题再临-线段树 单点更新 区间查询

    单点更新 区间查询 #include <bits/stdc++.h> using namespace std; #define m ((l+r)/2) #define ls (rt< ...

  4. HDU 1166敌兵布阵+NOJv2 1025: Hkhv love spent money(线段树单点更新区间查询)

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

  5. HDU1166(线段树单点更新区间查询)

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

  6. CDOJ 1073 线段树 单点更新+区间查询 水题

    H - 秋实大哥与线段树 Time Limit:1000MS     Memory Limit:65535KB     64bit IO Format:%lld & %llu Submit S ...

  7. HDU 1754.I Hate It-结构体版线段树(单点更新+区间查询最值)

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

  8. Who Gets the Most Candies? POJ - 2886(线段树单点更新+区间查询+反素数)

    预备知识:反素数解析 思路:有了反素数的解法之后就是线段树的事了. 我们可以用线段树来维护哪些人被淘汰,哪些人没被淘汰,被淘汰的人的位置,没被淘汰的人的位置. 我们可以把所有人表示为一个[1,n]的区 ...

  9. NBUT 1602 Mod Three(线段树单点更新区间查询)

    [1602] Mod Three 时间限制: 5000 ms 内存限制: 65535 K 问题描述 Please help me to solve this problem, if so, Liang ...

随机推荐

  1. 教你用 jVectorMap 制作属于自己的旅行足迹

    jVectorMap JVectorMap 是一个优秀的.兼容性强的 jQuery 地图插件. 它可以工作在包括 IE6 在内的各款浏览器中,矢量图输出,除官方提供各国地图数据外,用户可以使用数据转换 ...

  2. SQL Server之JSON 函数

    SQL Server 2005开始支持XML数据类型,提供原生的XML数据类型.XML索引及各种管理或输出XML格式的函数.随着JSON的流行,SQL Server2016开始支持JSON数据类型,不 ...

  3. 1.2 Why Python for Data Analysis(为什么使用Python做数据分析)

    1.2 Why Python for Data Analysis?(为什么使用Python做数据分析) 这节我就不进行过多介绍了,Python近几年的发展势头是有目共睹的,尤其是在科学计算,数据处理, ...

  4. 1.1 What Is This Book About(这本书是关于什么的)

    CHAPTER 1 Preliminaries(预备知识) 1.1 What Is This Book About?(这本书是关于什么的) 这本书关心的是如何用Python对数据进行处理和清洗等操作. ...

  5. 非常简单的部署脚本(JavaWeb项目)和部署项目教程

    这个部署方式,前提需要通过WinSCP工具将本地Maven项目打成zip包放到Linux对应的用户目录下,然后执行脚本便可以完成一键部署. 大家看到下面的脚本,可以发现一个显著的特点,部署脚本内容基本 ...

  6. Octave安装

    转自:https://www.cnblogs.com/freeweb/p/7124589.html Octave是一种解释类的编程语言,并且是GNU项目下的开源软件,与之相对是大家都非常熟悉的matl ...

  7. OpenCV——RGB和HSV颜色空间

    RGB颜色空间 在RGB中,一幅图像有三个独立的图像平面或通道组成:红,绿,蓝(以及第四个通道透明度). RGB颜色表 资料:网络  ◇  编制:王践舜 RGB(255,23,140)是光的三原色,也 ...

  8. 为什么can接口要接通用CAN隔离收发器啊?

    为什么can接口要接通用CAN隔离收发器啊? 主要是为了实现远端接地环路断开的系统,让接口允许在很大的共模电压变化下保证可靠通讯.通常使用CAN通讯的系统,都是要实现远距离可靠通讯,这也恰恰是CAN- ...

  9. Linux基础命令之文件过滤及内容编辑处理(一)

    . cat 功能是连接多个文件并且打印到屏幕输出,或重定向到指定的文件 五大功能: 1.查看文件内容 cat file.txt 2.合并文件内容 cat file1 file2>newfile3 ...

  10. 【NoSql】之Hbase

    Hbase概述 ·  Hbase是构建在hdfs上的分布式列式存储系统 ·  Hbase内部管理的文件全部存储在HDFS上面, ·  Hbase是基于google bigtable 模型开发的,典型的 ...