zoukankan      html  css  js  c++  java
  • E

    思路:区间修改即可。
    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int t,n,m,tot;
    struct nond{
        int l,r;
        int sum,falg;
    }tree[101000*4];
    void up(int now){
        tree[now].sum=tree[now<<1].sum+tree[now<<1|1].sum;
    }
    void build(int now,int l,int r){
        tree[now].l=l;
        tree[now].r=r;
        if(tree[now].l==tree[now].r){
            tree[now].sum=1;
            return ;
        }
        int mid=(tree[now].l+tree[now].r)>>1;
        build(now<<1,l,mid);
        build(now<<1|1,mid+1,r);
        up(now);
    }
    void down(int now){
        tree[now<<1].sum=(tree[now<<1].r-tree[now<<1].l+1)*tree[now].falg;
        tree[now<<1|1].sum=(tree[now<<1|1].r-tree[now<<1|1].l+1)*tree[now].falg;
        tree[now<<1].falg=tree[now<<1|1].falg=tree[now].falg;
        tree[now].falg=0;
    }
    void change(int now,int l,int r,int x){
        if(tree[now].l==l&&tree[now].r==r){
            tree[now].sum=(tree[now].r-tree[now].l+1)*x;
            tree[now].falg=x;
            return;
        }
        if(tree[now].falg)    down(now);
        int mid=(tree[now].l+tree[now].r)>>1;
        if(r<=mid)    change(now<<1,l,r,x);
        else if(l>mid)    change(now<<1|1,l,r,x);
        else{ change(now<<1,l,mid,x);change(now<<1|1,mid+1,r,x); }
        up(now);
    }
    int main(){
        scanf("%d",&t);
        while(t--){
            scanf("%d",&n);tot++;
            memset(tree,0,sizeof(tree));
            build(1,1,n);scanf("%d",&m);
            for(int i=1;i<=m;i++){
                int x,y,z;
                scanf("%d%d%d",&x,&y,&z);
                change(1,x,y,z);
            }
            printf("Case %d: The total value of the hook is %d.
    ",tot,tree[1].sum);
        }
    }
    细雨斜风作晓寒。淡烟疏柳媚晴滩。入淮清洛渐漫漫。 雪沫乳花浮午盏,蓼茸蒿笋试春盘。人间有味是清欢。
  • 相关阅读:
    css-box-shadowing
    css- :before :after
    css: line-height 与box-sizing
    金蝶数据库后台追踪
    钉钉审批开发,空白内容
    asp.net c#语言实现钉钉鉴权验证
    钉钉事件回调c#测试完成
    钉钉C#发起审批实例demo
    asp.net c#语言实现钉钉鉴权验证
    图片码
  • 原文地址:https://www.cnblogs.com/cangT-Tlan/p/8467662.html
Copyright © 2011-2022 走看看