海报
来源:互联网 发布:centos 6.8 安装pptp 编辑:程序博客网 时间:2024/06/10 19:47
#include<iostream>#include<cstring>#include<cstdio>#define maxn 200002#define ll __int64//线段树入门作,执行更改某个值,找到区间最大值的操作 using namespace std;ll num[maxn];struct node{ll max,l,r;}tree[maxn*20];ll build(ll root,ll left,ll right)//建的时候就记录max {tree[root].l=left;tree[root].r=right;if(tree[root].l==tree[root].r){tree[root].max=num[left];//cout<<tree[root].max<<endl; return tree[root].max;}else{ll mid=(left+right)/2; ll a=build(root*2,left,mid);ll b=build(root*2+1,mid+1,right);tree[root].max=max(a,b); //cout<<max(a,b)<<endl;return max(a,b);}}ll find(ll root,ll left,ll right)//找的时候不能换left,right {//cout<<tree[root].l<<" "<<tree[root].r<<endl;//cout<<left<<" "<<right<<endl;if((tree[root].l>right)||(tree[root].r<left))return 0;if((left<=tree[root].l)&&(tree[root].r<=right)){//cout<<tree[root].max<<endl;return tree[root].max; }ll a=find(root*2,left,right);ll b=find(root*2+1,left,right);return max(a,b); }ll update(ll root,ll pos,ll val)//更新后还要更新以上区间的值,换pos点为val {if(tree[root].l==tree[root].r&&tree[root].l==pos)//考虑情况要全面 { tree[root].max=val; //cout<<tree[root].max<<" "<<tree[root].l<<endl;return tree[root].max; } if(tree[root].l>pos||tree[root].r<pos) return tree[root].max;ll a=update(root*2,pos,val);ll b=update(root*2+1,pos,val);tree[root].max=max(a,b);return tree[root].max;}int main(){ll n,m;while(~scanf("%I64d%I64d",&n,&m)){for(int i=1;i<=n;i++)scanf("%I64d",&num[i]);build(1,1,n);//cout<<tree[1].max<<endl;char c;ll x,y; for(int i=1;i<=m;i++){getchar () ; scanf ("%c%I64d%I64d", &c, &x, &y) ; if (c == 'Q') { printf ("%d\n", find (1, x, y)) ; } else { num[x] = y ; update (1, x, y) ; } }}}
0 0
- 海报
- 海报详解
- 海报 demo
- 舞动海报
- 十大反日海报
- 十面埋伏各国海报
- 经典世界杯海报
- 历届世界杯海报
- 收集一个海报地址!
- 沐尔超酷海报系列之一
- AI SPACESHIP 宣传海报~~
- 激励人生的海报
- Silverlight 2 开发者海报
- 线段树;贴海报~
- .net 4.0海报
- 一张土耳其海报
- 母亲节主题宣传海报
- .NET Framework 4.0海报
- 还是经济的快速健康的肌肤看到
- HDU1754
- 钩子函数大全
- 字符类型转换
- 写一个方法,此方法可将obj对象中名为propertyName的属性的值设置为value.
- 海报
- 海报详解
- 在泛型为Integer的ArrayList中存放一个String类型的对象。
- 全选,反选,清除
- ural 1750 Tree 2(树的直径 + 倍增)
- HDU4966
- NYOJ题目139我排第几个(康拓排序)
- Android之高仿微信“首次登录滑动界面”(五)
- HDU4966详解