HDU 1754 I Hate It
来源:互联网 发布:证券交易模型软件 编辑:程序博客网 时间:2024/05/23 16:35
线段树水题,复习一下线段树
#include<stdio.h>#include<algorithm>#include<string.h>using namespace std;#define N 200005struct Node{int l,r,num,ma;}node[N*4];void build(int p,int l,int r){node[p].l=l;node[p].r=r;node[p].num=0;node[p].ma=0;if(l==r) return;int mid=(l+r)>>1;build(p*2,l,mid);build(p*2+1,mid+1,r);}void update(int p,int l,int r,int num){if(node[p].l>r||node[p].r<l) return;//printf("%d ",node[p].num);if(node[p].l==l&&node[p].r==r) {node[p].num=num;node[p].ma=num;//printf("%d ",node[p].num);return;}int mid=(node[p].l+node[p].r)>>1;if(r<=mid) update(p*2,l,r,num);else if(l>mid) update(p*2+1,l,r,num);else {update(p*2,l,r,num);update(p*2+1,l,r,num);}node[p].ma=max(node[p*2].ma,node[p*2+1].ma);}int query(int p,int l,int r){if(node[p].l>r||node[p].r<l) return -1;if(node[p].l>=l&&node[p].r<=r) {return node[p].ma;}return max(query(p*2,l,r),query(p*2+1,l,r));}int main(){#ifndef ONLINE_JUDGEfreopen("in.txt","r",stdin);#endifint n,m;while(scanf("%d%d",&n,&m)!=EOF){int tmp,i;build(1,1,n);for(i=1;i<=n;i++) {scanf("%d",&tmp);update(1,i,i,tmp);}char c;for(i=0;i<m;i++){//printf("%d %d\n",i,m);int A,B;getchar();scanf("%c%d%d",&c,&A,&B);if(c=='Q') printf("%d\n",query(1,A,B));else update(1,A,A,B);//printf("klsdajf");}}return 0;}
0 0
- 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
- 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
- 小汤1教学地址
- POJ--2828(线段树)
- 浅谈JAVA设计模式之——原型模式(Prototype)
- java应该学的基础东西
- 巧妙地处理android中的双击以及多击
- HDU 1754 I Hate It
- HDU 5223 GCD
- Storyboard里面的几种Segue区别:push,modal,popover,replace和custom(转载)
- 一些Linux/Unix 学用命令
- sublime新建工程文件夹
- 「HD_ACM」A+B for Input-Output Practice (VII)
- 关于glReadPixels的两点心得
- PHP设计模式——组合器模式
- MyEclipse查看Struts2源码及Javadoc文档