hdu 1754 线段树单点更新求最大值
来源:互联网 发布:linux suspend 命令 编辑:程序博客网 时间:2024/06/05 15:35
没啥好说的版子题
#include <stdio.h>#include <cstdlib>#include <iostream>#include <cmath>#include <algorithm>#include <cstring>#include <map>#include <cstring>using namespace std;struct node{ int l,r,max1;}tree[800004];void update(int rt){ tree[rt].max1=max(tree[2*rt+1].max1,tree[2*rt].max1);}void build(int rt,int l,int r){ tree[rt].l=l,tree[rt].r=r; if(l==r) { //printf("ok"); scanf("%d",&tree[rt].max1); return; } int mid=(r+l)/2; build(rt*2,l,mid); build(rt*2+1,mid+1,r); update(rt);}int getmax(int rt,int l,int r){ //printf("ok"); if(tree[rt].l==l&&tree[rt].r==r) return tree[rt].max1; int mid=(tree[rt].l+tree[rt].r)/2; if(mid<l) return getmax(rt*2+1,l,r); if(mid>=r) return getmax(rt*2,l,r); else return max(getmax(rt*2+1,mid+1,r),getmax(rt*2,l,mid));}void add(int rt,int a,int b){ //printf("ok"); if(tree[rt].l==a&&tree[rt].r==a) { tree[rt].max1=b; return ; } int mid=(tree[rt].l+tree[rt].r)/2; if(a<=mid) { add(rt*2,a,b); } else add(rt*2+1,a,b); update(rt);}int main(){ int n,m; while(~scanf("%d%d",&n,&m)) { build(1,1,n); char ss; for(int i=0;i<m;i++) { scanf(" %c",&ss); int a,b; if(ss=='Q') { scanf("%d%d",&a,&b); printf("%d\n",getmax(1,a,b)); }else { //printf("ok"); scanf("%d%d",&a,&b); add(1,a,b); } } }}
0 0
- HDU 1754 线段树单点更新求最大值
- hdu 1754 线段树单点更新求最大值
- HDU 2795 Billboard (线段树 单点更新 区间求最大值)
- HDU 1754 I Hate It(线段树:单点更新,求区间最大值)
- hdu 1754 I Hate It(线段树单点更新求区间最大值)
- 【线段树-单点更新区间最大值】hdu 1754
- 线段树求区间最大值RMQ(单点更新)
- 线段树(单点更新,区间求最大值)
- 线段树 单点更新查询 区间最大值 hdu 2795 Billboard
- HDU 2795 Billboard 线段树,区间最大值,单点更新
- HDOJ 题目1754 I Hate It(线段树单点更新,求区间最大值)
- HDOJ 1754 I Hate It(线段树—求区间最大值与单点更新)
- HDOJ 1754 I Hate It (线段树单点更新求区间最大值)
- poj 1754 I Hate It --线段树(单点更新,区间求最大值)
- HDU 1754 I Hate It(线段树--单点赋值, 区间求最大值)
- HDU 1754 I Hate It(线段树 单点更新 区间最大值)
- HDOJ 1754 单点更新段查询最大值 初级线段树
- HDU--I Hate It (线段树求最大值加更新)
- Nginx安装和使用
- 几种方法来实现scp拷贝时无需输入密码
- [Leetcode] 125. Valid Palindrome 解题报告
- Xlua使用C#中第三方库:DoTween
- 共享平台逻辑架构设计
- hdu 1754 线段树单点更新求最大值
- 解决js代码中加入alert()就成功执行,不加就不对的问题!
- python—命名规范
- 关于消息队列的使用----ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ
- OSTaskCreateHook(),OSTaskDelHook(),OSTaskSwHook(),OSTaskStatHook(),OSTimeTickHook()
- 云帮社区版4月升级,支持主流Go版本,修复了若干Bug
- Javascript(一)
- puppet概述
- Volley源码解析(一)——发送请求与结束请求