文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>hdu1698 Just a Hook

hdu1698 Just a Hook

时间:2010-09-23  来源:Z_Q_2010


#include<stdio.h>

const int MAX=100000;
int tree[MAX*3];

void update(int node,int l,int r,int lx,int rx,int newValue)    
{
    if(l==lx&&r==rx)
    {
        tree[node]=newValue;
        return ;
    }

    if(tree[node]>0)        //向下传递新值

    {
        tree[node*2]=tree[node*2+1]=tree[node];
        tree[node]=0;
    }

    int mid=(l+r)/2;
    if(rx<=mid) update(node*2,l,mid,lx,rx,newValue);
    else if(lx>mid) update(node*2+1,mid+1,r,lx,rx,newValue);
    else
    {
        update(node*2,l,mid,lx,mid,newValue);
        update(node*2+1,mid+1,r,mid+1,rx,newValue);
    }
}

int inquire(int node,int l,int r)
{
    if(tree[node]>0)
    {
        return tree[node]*(r-l+1);
    }

    int mid=(l+r)/2;
    return inquire(node*2,l,mid)+inquire(node*2+1,mid+1,r);
}

int main()
{
    int cases;
    int count=0;
    scanf("%d",&cases);

    while(cases--)
    {
        int n,m;
        scanf("%d%d",&n,&m);
        tree[1]=1;                //最初时所有的位置值均为1

        int from,to,value;
        while(m--)
        {
            scanf("%d%d%d",&from,&to,&value);

            if(from>to){int temp=from,from=to,to=temp;}
            update(1,1,n,from,to,value);
        }
        printf("Case %d: The total value of the hook is %d.\n",++count,inquire(1,1,n));
    }
    return 0;
}



相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载