HDU 1754 I Hate It 线段树区间求最大
来源:互联网 发布:北风网的大数据怎么样 编辑:程序博客网 时间:2024/05/24 01:40
这道题的就是每次询问一个区间,找出区间中的最大值
依然是线段树做法
sum数组就是线段树的节点,存的是它代表的区间中最大的值,更新一个节点的时候只要push_up一下就好了
#include <cstdio>#include <cstring>const int MAX = 200010;int sum[MAX<<2];template <class T>T max(T a,T b){ return (a>b)?a:b;}void push_up(int rt){ sum[rt] = max(sum[rt<<1],sum[(rt<<1)+1]);}void build(int l,int r,int rt){ if(l==r) { scanf("%d",&sum[rt]); return; } int mid = (r+l)>>1; build(l,mid,rt<<1); build(mid+1,r,(rt<<1)+1); push_up(rt);}void update(int p,int val,int l,int r,int rt){ if(l==r) { sum[rt] = val; return; } int mid = (r+l)>>1; if(p<=mid) update(p,val,l,mid,rt<<1); else update(p,val,mid+1,r,(rt<<1)+1); push_up(rt);}int query(int L,int R,int l,int r,int rt){ if(L<=l&&R>=r) return sum[rt]; int mid = (r+l)>>1; int ans = -0x7fffffff; if(L<=mid) ans = query(L,R,l,mid,rt<<1); if(R>mid) ans = max(ans,query(L,R,mid+1,r,(rt<<1)+1)); return ans;}int main(){ int n,m; while(scanf("%d%d",&n,&m)==2) { build(1,n,1); char c; int x,y; while(m--) { scanf(" %c%d%d",&c,&x,&y); if(c=='Q') printf("%d\n",query(x,y,1,n,1)); else update(x,y,1,n,1); } } return 0;}
- HDU 1754 I Hate It 线段树区间求最大
- HDU 1754 I Hate It(线段树求区间最大值)
- hdu-1754 I Hate It【线段树求区间最大值】
- 1754 I Hate It(线段树求区间最大值)
- hdu 1754 I Hate It (线段树入门题、求区间段的最大值)
- HDU OJ 1754 I Hate It 【线段树之求区间最值】
- hdu 1754 I Hate It(线段树,单点替换,求区间最值)
- hdu 1754 I Hate It 线段树 单点更新 求区间最值
- HDU 1754 I Hate It(线段树--单点赋值, 区间求最大值)
- HDU 1754 I Hate It(线段树:单点更新,求区间最大值)
- 线段树系列-hdu-1754-I Hate It-单点修改求区间最值
- hdu-1754 I Hate It(线段树求区间最大值)
- hdu 1754 I Hate It(线段树单点更新求区间最大值)
- HDU-1754-I Hate It(线段树求区间最值)
- hdu 1754 I Hate it(线段树的单节点更新,求区间最大值)
- hdu 1754 I Hate It (线段树--求区间最大值)(基础)
- HDU-1754 I Hate It(线段树求区间最值)
- HDU 1754 I Hate It(线段树,区间最大值)
- dreamweaver cs5.5搭建 phonegap
- Javascript实现动态菜单添加
- MatLab 图表达信息的实用函数
- String Aggregation Techniques
- JAVA Socket编程入门简介
- HDU 1754 I Hate It 线段树区间求最大
- 大话设计模式-迭代器模式
- ssh remote execute command without password
- C89,C99和固定长度整数int8_t等
- linux 中断
- 您的Java代码安全吗?还是暴露在外?
- Shell脚本 自动应答 passwd
- libevent install
- 第八章 接口与内部类