I Hate It(线段树)

P1531 I Hate It(线段树(单点修改+区间查询)) 【代码】P1531 I Hate It(线段树(单点修改+区间查询)) 阅读详情

Description

很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。 
这让很多学生很反感。 

不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。
 

Input

本题目包含多组测试,请处理到文件结束。 
在每个测试的第一行,有两个正整数 N 和 M ( 0<N<=200000,0<M<5000 ),分别代表学生的数目和操作的数目。 
学生ID编号分别从1编到N。 
第二行包含N个整数,代表这N个学生的初始成绩,其中第i个数代表ID为i的学生的成绩。 
接下来有M行。每一行有一个字符 C (只取'Q'或'U') ,和两个正整数A,B。 
当C为'Q'的时候,表示这是一条询问操作,它询问ID从A到B(包括A,B)的学生当中,成绩最高的是多少。 
当C为'U'的时候,表示这是一条更新操作,要求把ID为A的学生的成绩更改为B。 
 

Output

对于每一次询问操作,在一行里面输出最高成绩。
 

Sample Input

5 6 1 2 3 4 5 Q 1 5 U 3 6 Q 3 4 Q 4 5 U 2 9 Q 1 5
 

Sample Output

5 6 5 9

解题思路:

线段树,点更新,区间求最大值。

AC代码:

#include <iostream>
#include <cstdio>
using namespace std;
#define lson l, m, rt << 1
#define rson m + 1, r, rt << 1 | 1
const int maxn = 200005;
int Max[maxn << 2];
void PushUp(int rt)
{
    Max[rt] = max(Max[rt << 1], Max[rt << 1 | 1]);
}
void build(int l, int r, int rt)
{
    if(l == r)
    {
        scanf("%d", &Max[rt]);
        return;
    }
    int m = (l + r) >> 1;
    build(lson);
    build(rson);
    PushUp(rt);
}
void update(int p, int s, int l, int r, int rt)
{
    if(l == r)
    {
        Max[rt] = s;
        return;
    }
    int m = (l + r) >> 1;
    if(p <= m)
        update(p, s, lson);
    else
        update(p, s, rson);
    PushUp(rt);
}
int query(int L, int R, int l, int r, int rt)
{
    if(L <= l && r <= R)
        return Max[rt];
    int m  = (l + r) >> 1;
    int ret = 0;
    if(L <= m)
        ret = max(ret, query(L, R, lson));
    if(m < R)
        ret = max(ret,query(L, R, rson));
    return ret;
}
int main()
{
    int n, m, a, b;
    char ord[2];
    while(scanf("%d%d", &n, &m) != EOF)
    {
        build(1, n, 1);
        while(m--)
        {
            scanf("%s%d%d", ord, &a, &b);
            if(ord[0] == 'Q')
                printf("%d\n", query(a, b, 1, n, 1));
            if(ord[0] == 'U')
                update(a, b, 1, n, 1);
        }
    }
    return 0;
}


【网络图】:附Origin详细画图教程 网络图,是一种由节点(或顶点)和连接这些节点的边(或链路)组成的图形结构。在网络图中,节点通常代表系统中的一个实体(如项目中的一项任务、通信网络中的一个设备、或运输网络中的一个站点),而边则代表这些实体之间的直接联系或流动(如任务的先后顺序、数据的传输路径、或乘客的旅行路线)。 有向图:如果边具有方向性,即从一个节点指向另一个节点,则称为有向图。这种图常用于表示具有明确先后顺序或方向性的系统,如项目管理中的任务依赖关系。 无向图:如果图中的边没有方向,则称为无向图。它适用于表示实体间相互关联但无明确方向性的 阅读详情

相关推荐

如何选择StandardScaler、MinMaxScaler和RobustScaler做标准化的对比解释和示例代码

选择合适的标准化方法取决于数据的特点和需求。如果数据分布接近正态分布且无异常值,可以使用。如果需要将数据映射到特定范围内并保持相对关系,可以使用。如果数据中存在异常值或离群点,可以使用进行鲁棒标准化。在分类、聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维的时候,StandardScaler表现更好(避免不同量纲对方差、协方差计算的影响);在不涉及距离度量、协方差、数据不符合正态分布、异常值较少的时候,可使用MinMaxScaler。

qq_36001281的博客 4940

线段树(数组模拟、结构体模拟) I Hate It HDU - 1754 [my first segement tree ][参考博客推荐]

I Hate It Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 82290    Accepted Submission(s): 31639 Problem Description 很多学校流行一种比较的习惯。老师们很

米兰的小科比 767

A股量化实战:用Python回测动量因子策略(附聚宽完整代码)

本文详细介绍了如何在A股市场使用Python和聚宽平台,实战回测一个动量因子量化交易策略。从环境搭建、数据获取到完整的策略代码实现与回测分析,手把手教你验证“强者恒强”的投资逻辑,并提供参数优化与实战避坑指南,助力量化新手迈出第一步。

weixin_29264201的博客 970

HDU1754——I Hate It(线段树入门)

题目连接:I Hate It 思路:线段树基操 我被数组疯狂卡T,所以,要开大4倍的题目数组。。。 #include<stdio.h> #include<iostream> #include<map> #include<algorithm> #include<cstring> #include<string.h> #inclu...

浦柳人的博客 213

基于SHIS凝视型短波红外高光谱相机(900-1700nm)区分不同宝石的差异性和可分性(宝石分选)

SHIS系列凝视型高光谱相机基于液晶可调谐滤波器(LCTF),通过电控LCTF进行连续细分窄波段分光,对每个波段进行高分辨率的二维面阵成像,进行图像处理后,获得完整的高光谱高清图像序列。具有低功耗、小型化、使用方便和易于扩展的优势。其工作波段覆盖400nm至1000nm,能够捕捉宝石在不同波长下的光谱特征,为宝石鉴定提供了新的工具。

wayho的博客 710

生物信息学名词解释 | K-mer (长度为k的短序列)

K-mer 何谓K-mer 所谓Kmer,即为一段长度为k的DNA片段,是由测序reads剪切一部分得到的。k为一个奇数,k=几,就为几mer。 比如:我的测序reads长度为100bp,我将这100bp打断成17bp的短片段,打断后的17bp段片段就叫17mer,可以获得(100-17+1)条k-mer序列。 Table1 k-mers for GTAGAGCTGT. k k-mers 1 G,T,A,G,A,G,C,T,G,T 3 GTA,TAG,AGA,GAG,AGC,GCT,CT

qq_50637636的博客 2万+

HDU 1754 I Hate It 线段树模板

暑假ACM俱乐部训练三周,内容分别是图论基础、区间数据结构、字符串处理。训练题虽说都是类似模板题,但初学的我想弄明白还是有些困难的,经常一道题就坐在那里想半天,但做出来还是非常有成就感。虽然没有在学校训练,夜深人静的时候做题感觉还是挺好的,每天打下一点点基础,有所收获就通过博客记录下来,也方便以后回过头来复习查看。 HDU 1754 I Hate It [题目内容] 很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。 这让很多学生很反感。 不管你喜不喜欢,现在需要你做的是,就

weixin_46283740的博客 376

比亚迪开放平台接口实战:车身状态监测与智能车联应用开发

本文详细介绍了如何利用比亚迪开放平台的车身状态接口进行智能车联应用开发。通过核心类BYDAutoBodyworkDevice,开发者可以安全获取车辆VIN、车门车窗状态、蓄电池电压、方向盘转角等实时数据,并利用监听器实现状态实时响应。文章提供了从SDK集成、接口调用到典型应用场景(如远程车况检查、车队管理)的完整实战指南,助力开发者快速构建基于比亚迪车辆数据的创新应用。

weixin_29176179的博客 725

线段树——I Hate It

线段树——I Hate It 很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。 这让很多学生很反感。 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。 Input 本题目包含多组测试,请处理到文件结束。 在每个测试的第一行,有两个正整数 N 和 M ( 0<N<=200000,0...

linjiayina的博客 743

LSTM在交通流量预测中的应用:优化城市交通管理

我们使用的数据集来自某个城市的交通监测系统,包含多个监测点在不同时间段内的交通流量记录。每个监测点的数据包括时间戳、交通流量、天气状况和道路状态等信息。

斌擎科技 1258

今日头条面试——iOS开发面试题

layoutIfNeeded和setNeedsLayout的区别。* Pod update和pod install的区别。* 10、autoreleasepool的使用场景。* 如何hook一个对象的方法,而不影响其它对象。* 数组cop后里面的元素会复制一份新的吗。* 介绍项目,主要介绍自己强项一点的地方。* assing可以使用在对象中吗。* isEquel和hash的关系。* 4、谈谈runtime的理解。* 8、谈谈runloop的理解。* copy和strong的区别。

FPGA/MATLAB学习教程/源码/项目合作开发 594

HDU - 1754 I Hate It【线段树】

I Hate It Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 108841 Accepted Submission(s): 40748 Problem Description 很多学校流行一种比较的习惯。老师们很喜欢询问,从某...

qq_43966202的博客 304

【GB28181】wvp-GB28181-pro++ZLMediaKit编译安装国标流媒体服务器教程(Windows平台)

本文基于ZMLMediaKit+WVP-PRO在windows平台进行编译部署GB28181平台,网上教程也比较多,都大同小异,实际操作过程中容易出错的地方也比较多:redis安装无密码,mysql安装后密码的修改以及wvp数据可的创建,配置文件侧修改,尤其是和端口相关的项,再就是运行服务时各种错误需要注意,常见的错误已经做了汇总,遇到问题大家不要怕,找到报错的地方查看定位即可。

废人一枚的博客 4479

HDU1754 I Hate It 线段树

I Hate It Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 110093 Accepted Submission(s): 41144 Problem Description 很多学校流行一种比较的习惯。老师们很喜欢询问,从某...

DouglasConnor的博客 249

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

I Hate It(线段树入门)

题目描述 很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。 这让很多学生很反感。 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。 Input 本题目包含多组测试,请处理到文件结束。 在每个测试的第一行,有两个正整数 N 和 M ( 0&amp;amp;lt;N&amp;amp;lt;=200000,0&amp;amp;lt;M&amp;amp;lt;5..

asdkjc的博客 297

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

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

HDU - 1754 I Hate It(线段树)

HDU - 1754 I Hate It(线段树) #include<iostream> using namespace std; const int N =200010; int n,m,s[N]; struct Node { int l,r,v; }tr[N*4]; inline void pushup(int u) { tr[u].v=max(tr[u<<1].v,tr[u<<1|1].v); } inline void build(int u,i

00后的博客 340

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

I Hate It(线段树模板)

传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1754 线段树模板题 本题题意: 有多组测试数据, 给定长度为n的小组, 并且给定m个查询条件, 查询条件有 给定 c a b 1.如果c 为Q 表示 查找在a, b区间内最大的人数, 2.如果c为 U 更新区间 a小组的值为b 本题思路: 一道线段树模板题目, ...

qq_41698081的博客 239

I Hate It 线段树模板

很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。 这让很多学生很反感。 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。 Input本题目包含多组测试,请处理到文件结束。 在每个测试的第一行,有两个正整数 N 和 M ( 0 学生ID编号分别从1编到N。 第二行包含

扬帆起航 322

I Hate It (线段树)

很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。这让很多学生很反感。不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。 Input本题目包含多组测试,请处理到文件结束。在每个测试的第一行,有两个正整数 N 和 M ( 0<N<=200000,0<M&lt...

a6086987412的博客 114

【线段树】 I Hate It

I Hate It Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 128175 Accepted Submission(s): 47099 Problem Description 很多学校流行一种比较的习惯。老师们很喜欢询问,从某...

CTGU_UN_GO的博客 229

I Hate It 线段树

很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。  这让很多学生很反感。  不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。 Input 本题目包含多组测试,请处理到文件结束。  在每个测试的第一行,有两个正整数 N 和 M ( 0&lt;N&lt;=200000,0&lt;M&lt;5...

这里RevolIA,_(:з」∠)_ 305

[HDU] I Hate It [线段树]

I Hate It Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 71525 Accepted Submission(s): 27666 Problem Description很多学校流行一种比较的习惯。老师们很喜欢询问

chutzpah 352

I Hate It 【线段树】

题目链接:HDU-1754 [kuangbin带你飞]专题七 线段树 题目描述: 很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。 这让很多学生很反感。 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。 思路 单点修改,区间询问最值,典型的RMQ问题;这里用线段树写的; 树状数组和RM...

Hang_ccccc的博客 187

hdu1754 I Hate It【线段树】

很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。  这让很多学生很反感。  不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。 Input 本题目包含多组测试,请处理到文件结束。  在每个测试的第一行,有两个正整数 N 和 M ( 0&lt;N&lt;=200000,0&lt;M&lt;5...

wybooooooooo的博客 194

【hdu1754】I Hate It——线段树模板题

I Hate It Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 85795    Accepted Submission(s): 32921 Problem Description 很多学校流行一种比较的习

acmer_mozhu的博客 271

线段树:I Hate It

I Hate ItTime Limit:3000MS    Memory Limit:32768KB    64bit IO Format:%I64d & %I64u SubmitStatusPracticeHDU 1754 Description 很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。 这让很多学生很反感。 不管你喜不喜欢

lethic的专栏 590
上一篇: Cipher
下一篇: Minimum Inversion Number(线段树)
userluoxuan
博客等级 码龄12年 16粉丝 83原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值