hdu1754 I Hate It
来源:互联网 发布:交互式课件制作软件 编辑:程序博客网 时间:2024/06/12 19:00
题意:n个数,m个操作。操作可以是更新某个数的值或查询某个区间的最大值。
思路:线段树(单点更新)。节点维护一个区间最值的信息。
#include <iostream> #include <stdio.h> #include <cmath> #include <algorithm> #include <iomanip> #include <cstdlib> #include <string> #include <memory.h> #include <vector> #include <queue> #include <stack> #include <map> #include <set> #include <ctype.h> using namespace std; int num[200010];struct node{int l;int r;int v;};node tree[800010];int build_tree(int n,int l,int r){tree[n].l=l;tree[n].r=r;if(l!=r){int mid=(l+r)/2;int v1=build_tree(n*2,l,mid);int v2=build_tree(n*2+1,mid+1,r);tree[n].v= max(v1,v2);}else{tree[n].v=num[l];}return tree[n].v;}void update(int pos,int n,int v){int mid=(tree[n].l+tree[n].r)/2;if(tree[n].l==tree[n].r){tree[n].v=v;return;}if(mid>=pos){update(pos,n*2,v);}else{update(pos,n*2+1,v);}tree[n].v=max(tree[2*n].v,tree[2*n+1].v);}int query(int n,int l,int r){if(tree[n].l==l&&tree[n].r==r){return tree[n].v;}int mid=(tree[n].l+tree[n].r)/2;if(mid>=r){return query(n*2,l,r);}else{if(mid<l){return query(n*2+1,l,r);}else{return max(query(n*2,l,mid),query(n*2+1,mid+1,r));}}}int main(){int n,m;while(cin>>n>>m){for(int i=1;i<=n;i++){scanf("%d",&num[i]);}build_tree(1,1,n);for(int i=1;i<=m;i++){char c;int a,b;scanf("%c%c %d %d",&c,&c,&a,&b);if(c=='U'){update(a,1,b);}else{int ans=query(1,a,b);printf("%d\n",ans);}}}return 0;}
0 0
- hdu1754 I Hate It
- HDU1754 I Hate It
- HDU1754:I Hate It
- HDU1754--I Hate It
- HDU1754 I hate it
- hdu1754 I Hate It
- HDU1754:I Hate It
- hdu1754 I Hate It
- hdu1754 I Hate It
- hdu1754 I Hate It
- hdu1754 I Hate It
- hdu1754 I Hate It
- hdu1754 I Hate it
- HDU1754 I Hate It
- hdu1754 I Hate It
- hdu1754 I Hate It
- HDU1754 I Hate It
- HDU1754 I Hate It
- 没有事务是个神马情况呢
- 【移动安全】Android程序开发3种方式比较
- OP AMPS DRIVING CAPACITIVE LOADS
- SQL SERVER 远程备份与还原
- 台湾为何电商不发达,参考下他们超级发达便利店的“大数据”学习法
- hdu1754 I Hate It
- 输入“我是中国人,我爱中国”这句话,然后统计其中每个字(包括标点)出现的次数并输出
- 访问WebService时出现org.xmlpull.v1.XmlPullParserException: Expected a quoted string错误
- JavaMail API详解
- 四种进程或线程同步互斥的控制方法
- 缓解牙疼的方法
- 百度笔试题
- listView单选实现(一)
- res/values目录常用xml文件