HDU 1754 线段树裸题
来源:互联网 发布:mysql设置外键约束 编辑:程序博客网 时间:2024/06/08 07:46
水题
#include<stdio.h>#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1#define Maxn 205555int max[Maxn<<2];int N,M;void Pushup(int rt){ max[rt]=max[rt<<1]>max[rt<<1|1]?max[rt<<1]:max[rt<<1|1];}void build(int l,int r,int rt){ int m; if(l==r){scanf("%d\n",&max[rt]);return ;} m=(l+r)>>1; build(lson); build(rson); Pushup(rt);}int updata(int p,int k,int l,int r,int rt){ int m; if(l==r){max[rt]=k;return 0;} m=(l+r)>>1; if(p<=m) updata(p,k,lson); else updata(p,k,rson); Pushup(rt);}int query(int L,int R,int l,int r,int rt){ int m,k1=0,k2=0; if(L<=l&&r<=R) return max[rt]; m=(l+r)>>1; if(L<=m) k1=query(L,R,lson); if(R>m) k2=query(L,R,rson); return k1>k2?k1:k2;}int main(){ int i,a,b; char ch; while(scanf("%d%d",&N,&M)==2) { build(1,N,1); for(i=1;i<=M;i++) { scanf("%c%d%d\n",&ch,&a,&b); if(ch=='U') updata(a,b,1,N,1); if(ch=='Q') printf("%d\n",query(a,b,1,N,1)); } } return 0;}
- HDU 1754 线段树裸题
- HDU 4893 线段树裸题
- hdu 1754 线段树
- hdu 1754 线段树
- hdu 1754 线段树
- 【线段树】hdu 1754
- hdu 1754 线段树
- hdu 1754 线段树
- hdu 1754 线段树
- hdu 1754 线段树
- HDU 1754 线段树
- HDU -1754线段树
- HDU 1754 线段树
- hdu 1754 线段树
- hdu 1754 线段树
- HDU 1754 线段树
- hdu 1754(线段树)
- HDU 1754 线段树
- Android系统匿名共享内存Ashmem(Anonymous Shared Memory)在进程间共享的原理分析
- WIN7文件夹共享步骤
- systemd、upstart和system V
- 电容基础知识 之 从名称认识电容在电路中的作用
- 利用临时变量对每个分组的数据进行累计
- HDU 1754 线段树裸题
- 用struct tm与time_t来计算日期之间的间隔天数
- 一种注册表沙箱的思路、实现——研究Reactos中注册表函数的实现1
- 利用临时变量对数据进行累计
- Android利用ViewFlipper实现屏幕切换动画效果
- 单元格中有两个字段
- ObjectiveC中的block用法解析
- linux的动态链接库的创建和使用
- launcher初步模型