HDU1754 I 单点更新,区间最值
来源:互联网 发布:网络发展新技术 编辑:程序博客网 时间:2024/06/09 14:01
HDU1754I Hate It
简单的线段树,单点更新及区间最值,不需优化,更新到叶子节点
#include<cstdio>#include<algorithm>using namespace std;struct node{ int left,right; int Max;}tree[200000*4];int p,v;///把p点的值改为vvoid Build(int l,int r,int cur){ tree[cur].left=l; tree[cur].right=r; if(l==r){ scanf("%d",&tree[cur].Max); return ; } int mid=(l+r)/2; Build(l,mid,cur*2); Build(mid+1,r,cur*2+1); tree[cur].Max=max(tree[cur*2].Max,tree[cur*2+1].Max);}void Update(int cur){ if(tree[cur].left==tree[cur].right&&tree[cur].left==p){ tree[cur].Max=v; return ; } int mid=(tree[cur].left+tree[cur].right)/2; if(p<=mid)Update(cur*2); else Update(cur*2+1); tree[cur].Max=max(tree[cur*2].Max,tree[cur*2+1].Max);}int Query(int l,int r,int cur){ if(l==tree[cur].left&&r==tree[cur].right)return tree[cur].Max; int mid=(tree[cur].left+tree[cur].right)/2; if(r<=mid)return Query(l,r,cur*2); else if(l>mid)return Query(l,r,cur*2+1); else return max(Query(l,mid,cur*2),Query(mid+1,r,cur*2+1));}int main(){ int n,m,a,b; char c; while(scanf("%d%d",&n,&m)!=EOF){ Build(1,n,1); while(m--){ getchar(); scanf("%c%d%d",&c,&a,&b); if(c=='Q')printf("%d\n",Query(a,b,1)); else {p=a;v=b;Update(1);} } } return 0;}
0 0
- HDU1754 I 单点更新,区间最值
- HDU1754 I Hate It 线段树(单点更新,区间最值)
- Hdu1754 I Hate It 线段树、单点更新+区间最值
- hdu1754 I Hate It(线段树,单点更新,区间最值)
- HDU1754 线段树 + 裸 + 单点更新求区间最值
- hdu1754 单点修改,区间最值查询
- 单点更新查询区间最大值 hdu1754 I hate it
- HDU1754 I Hate It 单点更新+区间求最值
- hdu1754 线段树功能:update:单点替换 query:区间最值 I Hate It
- hdu1754 I Hate It(线段树单点修改,区间最值)
- 单点更新 区间查询最值 线段树 杭电hdu1754
- Hdu 1754 I Hate It 单点更新,区间最值
- HDU1754 I Hate It(线段树单点更新,区间最大值,zkw线段树)
- hdu1754 I Hate It(单点更新)
- hdu1754 I Hate It (区间最值)
- hdu1754 I Hate It 线段树求区间最值
- HDU1754 I Hate It 线段树区间最值
- HDU 2795 单点更新 + 区间最值
- paypal nvp name value paire paypal ecshop sanbox测试账号
- 【Window下apache服务设置最大连接数】
- ORA-01654 错误
- hdu5438 连通子图
- 黑马程序员---浅析 宏
- HDU1754 I 单点更新,区间最值
- php 计算3公里内所以用户的距离
- 19C指针详解(经典,非常详细)
- HDU1394 求逆序数
- 利用辗转相除法计算最大公约数与最小公倍数
- Xcode 7.0正式版发布了
- [C#/ASP.NET]List<>中Sort()、Find()、FindAll()、Exist()的使用方法
- python定时任务调度库_apscheduler的使用(1)
- HDU2795 贴广告