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

    链接:Miku

    -----------------------

    线段树水题

    单点修改+区间最大值查询

    -------------------------

    这道题比板子很简单,因为懒标记不用写

    为什么呢,懒标记什么时候用?我们要修改的区间完全覆盖了某个区间的时候

    全是单点修改还能覆盖谁?只有他自己啊。

    那还懒什么,懒不了

    -------------------------

    因为在洛谷上的要求是大于原来的成绩再修改,所以我们修改的时候还要加个判断

    至于初始化,就当作是把那个点成绩修改了就好,毕竟没有负数成绩,所以肯定比0大

    ----------------------------

    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<cstring>
    using namespace std;
    int n,m;
    long long sum[800002], lazy[800005];
    
    char f;
    int x,y;
    long long k;
    void pushup(int x){
        sum[x]=max(sum[x << 1],sum[x << 1 | 1]);
        return;
    }
    void update(int x, int l, int r, int L, int R, long long d){
        if (L <= l && r <= R){
            sum[x] = max(sum[x],d) ;
            return;
        }
        int mid = (l + r) >> 1;
        if (L <= mid) update(x << 1, l, mid, L, R, d);
        if (R > mid) update(x << 1 | 1, mid + 1, r, L, R, d);
        pushup(x);
    }
    long long query(int x, int l, int r, int L, int R){
        if (L <= l && r <= R){
            return sum[x];
        }
        int mid = (l + r) >> 1;
        long long ans = 0;
        if (L <= mid) ans=max(ans,query(x << 1, l, mid, L, R));
        if (R > mid) ans= max(ans,query(x << 1 | 1, mid + 1, r, L, R));
        return ans;
    }
    int main(){
        scanf("%d%d",&n,&m);
        for(int i=1;i<=n;++i){
            scanf("%d",&x);
            update(1, 1, n, i, i, x);
        }
        for(int i=1;i<=m;++i){
            cin>>f;
            if(f=='U'){
                scanf("%d%d",&x,&k);
                update(1, 1, n, x, x, k);
            }
            else{
                scanf("%d%d",&x,&y);
                printf("%lld
    ", query(1, 1, n, x, y));
            }
        }
        return 0;
    }
  • 相关阅读:
    Eclipse OSBP 设置 配置
    限制文本框输入的内容
    jquery 操作iframe的几种方法总结
    利用PLUPLOAD上传大文件
    oracle contains
    JSON.parse
    js正则表达式replace里有变量的解决方法用到RegExp类
    Web API WinForm使用HttpClient呼叫Web API
    JQUERY DIALOG窗格内不能使用FORM
    Access forbidden! XAMPP虚拟主机的问题
  • 原文地址:https://www.cnblogs.com/For-Miku/p/12350601.html
Copyright © 2011-2022 走看看