zoukankan      html  css  js  c++  java
  • I Hate It HDU

    #include<iostream> 
    #include<cstring>
    using namespace std;
    const int N=2e5+10;
    int m,n,p;
    struct node{
        int l,r;
        int v;
    }tr[N*4];
    void pushup(int u)
    {
        tr[u].v=max(tr[u<<1].v,tr[u<<1|1].v); 
    } 
    void build(int u,int l,int r)
    {
        tr[u]={l,r};
        if(l==r)
        {
            scanf("%d",&tr[u].v);
            return ;
        }
        int mid=l+r>>1;
        build(u<<1,l,mid);
        build(u<<1|1,mid+1,r);
        pushup(u);
    }
    int query(int u,int l,int r)
    {
        if(tr[u].l>=l&&tr[u].r<=r)
            return tr[u].v;
        
            int mid=tr[u].l+tr[u].r>>1;
            int v=0;
            if(l<=mid)
                v=max(v,query(u<<1,l,r));
            if(r>mid)
                v=max(v,query(u<<1|1,l,r));
            return v;
        
    }
    
    void modify(int u,int x,int p)
    {
        if(tr[u].l==x&&tr[u].r==x)
        {
            tr[u].v=p;
            return;
        } 
        else
        {
            int mid=tr[u].l+tr[u].r>>1;
            if(x<=mid)
                modify(u<<1,x,p);
            else
                modify(u<<1|1,x,p);
            pushup(u);
        }
    }
    int main()
    {
        
        while(scanf("%d%d",&n,&m)!=EOF)
        {
        
            int l,r;
            int x;
            build(1,1,n);
    
            
            char op[3];
            while(m--)
            {
                scanf("%s%d%d",op,&l,&r);
                if(op[0]=='Q')
                    printf("%d
    ",query(1,l,r));
                else
                    modify(1,l,r);
            }
        }
        return 0;
    }
  • 相关阅读:
    python三元表达式
    购物车的升级系统
    python迭代器
    python函数装饰器
    python 闭包函数
    python名称空间与作用域
    python函数的嵌套
    python函数对象
    python函数之可变长参数
    python函数的参数
  • 原文地址:https://www.cnblogs.com/QingyuYYYYY/p/12284860.html
Copyright © 2011-2022 走看看