I Hate It(树状数组 单点修改 区间最值)

【硬核指南/MI50 32G/Ubuntu】从零部署大模型:MI50显卡Ubuntu系统驱动安装与避坑全记录 本文详细记录了在Ubuntu系统上为AMD MI50显卡安装驱动并部署大模型的完整流程,包括硬件兼容性检查、BIOS关键设置、系统安装优化、ROCm驱动安装及常见问题解决方案。特别针对MI50显卡在X99平台上的特殊配置需求提供了实用技巧,帮助用户避免常见陷阱,提升大模型训练效率。 阅读详情

I Hate It

Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 157739    Accepted Submission(s): 54889


 

Problem 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
Hint
Huge input,the C function scanf() will work better than cin
 

Author
linle
 

Source
 

Recommend


 

const int MAX=100010;
int tree[MAX];
int a[MAX];
int n,m;
int lowbit(int x){
    return x&(-x);
}
void update(int x,int k){
    while (x<=n) {
        tree[x]=k;
        for(int i=1;i<lowbit(x);i<<=1){ //从子节点跟新
            tree[x]=max(tree[x],tree[x-i]); 
        }
        x+=lowbit(x); //更新父节点
    }
}
int query(int l,int r){
    int ans=0;
    while (l<=r) {
        ans=max(ans,a[r]);
        r--;
        while (r-l>=lowbit(r)) { //修改对应子根的树枝
            ans=max(ans,tree[r]);
            r-=lowbit(r);
        }
    }
    return ans;
}
int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++) {
        cin>>a[i];
        update(i,a[i]);
    }
    while (m--) {
        string s;
        int p,q;
        cin>>s>>p>>q;
        if(s=="Q"){
            cout<<query(p,q)<<endl;
        }
        else {
            a[p]=q;
            update(p,q);
        }
    }
}

LVGL 磁罗盘效果 环境:LVGL 9.x + SDL2,窗口 1280×800。界面文案用英文(默认 Montserrat,无 CJK)。本文按实现顺序讲:先建立两个耦合转动体,再把磁倾角误差从卡面倾斜里推出来,最后用同一套投影把刻度、数字和目标画到卡上。画面上的迟滞、涡流、摆动和读数偏差都来自方程,没有补间动画。 阅读详情

相关推荐

TC387 MCMCAN Message RAM配置详解:Tx Buffer与Rx FIFO地址布局

在嵌入式CAN/CAN FD通信系统中,缓冲区和FIFO是数据收发的核心机制,而AURIX TC3xx系列单片机将这一机制集成在了MCMCAN模块专用的Message RAM中。这是一块由CAN控制器独占的内存区域,开发人员需要按照寄存器规范手动划分Tx Buffer、Rx FIFO、过滤元素等子区间。合理的RAM布局能确保不同功能区域互不重叠、有序排列,避免数据覆盖与错帧。通过掌握TXBC、RXF0C等配置寄存器的字段含义,结合实用的地址布局表,可以显著降低多节点CAN通信的调试成本。本内容面向使用TC3

weixin_34226182的博客 221

线段树学习

线段树是一种能把一些对于区间(或者线段)的修改、维护,从O(n)的时间复杂度变为O(logn)的工具。线段树是一个完全二叉树,我们可以用堆来存,可以用一维数组来存。对于一个长度为8的线段,可以这样表示每一个线段[L, R],代表区间[L, R]的和,如[1,4]就代表1~4的和如果用一维数组来存,下标(蓝色)如下:由此我们可以知道,对于下标为x的线段,有以下性质以数组a为例:父节点:a[x/2] 或者 a[x >> 1]左儿子:a[2 * x] 或者 a[x

m0_62652820的博客 1876

给STM32供电,别只接VDD和GND!VBAT、VDDA这些引脚不接会怎样?

本文深入解析STM32电源设计中VBAT与VDDA引脚的关键作用,揭示仅连接VDD和GND可能导致的ADC精度下降、RTC功能异常等问题。通过实测数据对比不同连接方案,提供包括滤波电路设计、PCB布局布线和双电源自动切换在内的实用解决方案,帮助开发者优化系统稳定性与性能。

weixin_30521161的博客 623

I Hate It (1)

I Hate It Time Limit: 1000 MS Memory Limit: 62768 K Total Submit: 147 (52 users) Total Accepted: 42 (41 users) Special Judge: No Description 很多学校

Waive21的专栏 508

使用 Wireshark 进行计算机网络协议分析

文章目录实验前准备一、Wireshark抓包示例二、Wireshark实作1、数据链路层实作一 熟悉Ethernet帧结构实作二 了解子网内/外通信时的 MAC 地址实作三 掌握 ARP 解析过程2、网络层实作一 熟悉 IP 包结构实作二 IP 包的分段与重组实作三 考察 TTL 事件3、传输层实作一 熟悉 TCP 和 UDP 段结构实作二 分析 TCP 建立和释放连接4、应用层实作一 了解 DNS 解析实作二 了解 HTTP 的请求和应答 实验前准备 本部分实验用到的是抓包和协议分析软件——Wiresha

weixin_51087836的博客 8199

从零开始,用MATLAB/Simulink手把手搭建一个无刷直流电机(BLDC)的控制模型

本文详细介绍了如何使用MATLAB/Simulink从零开始搭建无刷直流电机(BLDC)控制模型。通过可视化建模方法,避开繁琐的数学推导,直接构建三相逆变器、电机本体参数化模型、霍尔传感器与换相逻辑实现,以及速度闭环控制设计。文章还提供了PID控制器整定、抗饱和处理和系统调试的实用技巧,帮助工程师快速掌握BLDC控制系统的仿真与实现。

weixin_27741699的博客 254

树状数组求区间最大值 (单点修改)

以前一直把树状数组当作求前缀的工具,但事实上,树状数组是一种分块的方式,因为分块的方式比较独特,所以在求前缀的过程中非常方便; 树状数组的实现原理就不讲了,这里要特别说明的是,lowbit(x) 不仅可以表示区间分块对应存储前缀的位置,同时还能够表示一个区间的长度,这个长度在求区间最大值的时候起到比较重要的左右,也是我之前没想到的部分; 文字说明: 求区间最大值 和 求区间和有很大的不同,因...

Y390d的博客 5499

Unity ProBuilder(自己创建斜面、拐角)

ProBuilder基础实例

weixin_56537692的博客 1551

线段树求区间最大值(单点修改)

//问最大值 //Q a b 询问[a,b]中最大值 //C a b 将a点值改为b #include<bits/stdc++.h> using namespace std; #pragma warning(disable:4996) #define maxn 100005 #define ll long long ll chushi[maxn], sum[maxn * 4];//记...

AlanJobs的博客 1786

2万字大厂面经:小米嵌入式面试题及参考答案(持续更新)

BIOS (Basic Input/Output System) 是一种存储在ROM中的固件程序,它为计算机提供了最基础的硬件初始化和服务。BIOS主要存在于传统的x86架构计算机中。嵌入式系统的启动流程取决于具体的硬件平台和所采用的操作系统。复位阶段:当系统通电或复位时,CPU进入复位状态。硬件初始化:CPU和必要的硬件设备(如内存控制器)被初始化。加载引导加载程序:引导加载程序(如U-Boot)被加载到内存中。执行引导加载程序:引导加载程序开始执行,初始化更多的硬件设备,并检测存储介质。

大模型大数据攻城狮的专栏 2529

思博伦仪表打流测试使用总结

下图红框中的checkbox为选中状态时,表示该流会携带测试仪做一些分析,包括时延和乱序等信息时需要的一些字节,当改选项选中时,如配置IPv4的TCP流,最小字节长度必须为78字节;如果需要64字节的TCP流,改选项必须不选中;

陌上花开缓缓归以的博客 1464

单点修改+查找区间最大值

最大数 #include<bits/stdc++.h> using namespace std; const int N = 200010; int a,t,p,l,m,n; struct stu { int l,r; int v;//根据pushup定义所需的变量 } tr[N * 4]; void pushup(int u)//用两个子结点更新父节点 { tr[u].v = max(tr[u * 2].v,tr[u * 2 + 1].v); } void b

magnte的博客 429

基于Cesium移动的天空云

天空中的云朵也算是一种天气气候的效果,它能更加逼真的反映当前的天气状况,可以是白云朵朵,也可以是乌云密布,结合其他天气效果,可以组合形成较为真实的三维可视化场景。

星云数海的博客,一个专注GIS十多年的GISer人。 446

树状数组求带单点修改区间最值问题 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): 83273    Accepted Submission(s): 32014 Problem Description 很多学校流行一种比较的习惯。

BlackJack 533

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

树状数组入门及例题讲解(四)——I Hate It

树状数组区间最值入门模板题——I Hate It I Hate It 这是一个简单的树状数组求区间最值的 入门模板题 涉及到了 单点修改 以及求区间最值的操作 熟悉这些函数的书写 就可以轻松的写出这个题 有关 树状数组求区间最值的内容 详见博客: 树状数组入门及例题讲解(三)——区间最值 本题代码如下: #include<cstdio> #include<algorithm&g...

i_want_to_studyi的博客 450

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

【HDU 1754】 I Hate It 树状数组 + 区间最值 模板题

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

待到山花烂漫时 180

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

hdu 1754 I Hate It (树状数组求区间最大和)(线段树单点修改)

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

weixin_44745441的博客 196

hdu 1754:I Hate It(线段树应用之:区间最值问题)

hdu 1754:I Hate It(线段树应用之:区间最值问题) 题目链接:hdu 1754 Problem Description 很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。 这让很多学生很反感。 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。 Input 本题目包含多组...

serendipity的博客 465

[洛谷]P1531 I Hate It (#树状数组)

题目背景 很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。这让很多学生很反感。 题目描述 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩 输入格式 第一行,有两个正整数 N 和 M ( 0<N<=200000,0<M<5000 ),分别代表学生的数目和操作的...

A.pro的博客 409

HDU 1754 I Hate It 树状数组求区间最值

题意:给n(1         具体参看:http://www.cnblogs.com/ambition/archive/2011/04/06/bit_rmq.html Sure原创,转载请注明出处 #include #include #include #define MAX(a , b) ((a) > (b) ? (a) : (b)) using namespace

Uhh, call me zacky NOW!!! 2613

I Hate It

今天为大家带来的仍然是线段树的题,emmmm,这个本来是想用树状数组来搞得,但是下午本来要去上海!!!!!!!!!没有学习,但是这两天那边有台风(听说17级,火车禁止通行),我又回来了,,退票费真贵。。。。。 看题 ,这个题仍然是不用二进制就会TLE的线段树。改了无数个bug,一边过的题, 昨天写的那个是,区间求和以及区间单点修改值,今天是区间求最大最小值。 5 6 1 2 3 4 5 Q...

qq_44463295的博客 236

HDU - 1754 I Hate It (树状数组维护区间最值)

题面题意 给出一列数,有两种操作: 1.修改一个数 2.询问区间最大值 方法 用树状数组来维护区间最值,复杂度为O(n*(logn)^2). 做法与维护区间和不同,因为修改最值时无法求出新的最值,但是维护的区间相同. 树状数组维护的区间是[u-lowbit(u)+1,u],可以据此来进行这些操作. 修改 若sz[i]之前的值都正确,则可以发现C[i]可以用这段代码

yzyyylx的博客 538

I Hate It HDU - 1754 (单点修改维护区间最大值)(树状数组与线段树)

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

Fang的博客 182

I Hate It(树状数组,线段树)

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

lois_123的专栏 610

【线段树-单点更新区间最大值】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): 79015    Accepted Submission(s): 30354 Problem Description 很多学校流行一种比较的习惯。

Hi_jiaxinwei的博客 436

HDU - 1754 I Hate It(线段树和树状数组---理论解析,代码到位)

参考题目: HDU - 1754 ----- I Hate It --------- https://cn.vjudge.net/contest/316365#problem/E 维护区间最大值+单点更新 POJ - 3468 ----- A Simple Problem with Integers --------- https://cn...

zaiyang遇见 733
上一篇: 最好的宝石(上推线段树)
下一篇: Color the ball(树状数组+差分)
郭晋龙
博客等级 码龄6年 940粉丝 449原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郭晋龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值