青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

The Fourth Dimension Space

枯葉北風(fēng)寒,忽然年以殘,念往昔,語默心酸。二十光陰無一物,韶光賤,寐難安; 不畏形影單,道途阻且慢,哪曲折,如渡飛湍。斬浪劈波酬壯志,同把酒,共言歡! -如夢(mèng)令

HDOJ 1698 Just a Hook 線段樹

題目的意思是給你一個(gè)數(shù)組,大小是N,初始的時(shí)候,a[1-N]均為1,然后有Q個(gè)操作,每次操作修改某個(gè)區(qū)間中的值,求最后整個(gè)區(qū)間1-N的和。線段樹解決

#include<iostream>
using namespace std;

int const maxn=100100;

struct node
{
    
int n;
    
int l,r;
}
tree[maxn*4];

void build(int l,int r,int i)
{
    tree[i].l
=l;
    tree[i].r
=r;
    
if(l==r)
        
return;

    
int mid=(l+r)>>1;
    build(l,mid,i
*2);
    build(mid
+1,r,i*2+1);
}


void update(int l,int r,int n,int i)
{
    
if(l==tree[i].l&&r==tree[i].r)
    
{
        tree[i].n
=n;
        
return ;
    }

    
if(l>r)
        
return ;
    
int nn=tree[i].n;
    
if(tree[i].n!=0)
    
{
        
if(l!=tree[i].l||r!=tree[i].r)
        
{
            
            
int mid=(tree[i].l+tree[i].r)>>1;
            
if(r<=mid)
            
{
                update(l,r,n,i
*2);
                update(tree[i].l,l
-1,nn,i*2);
                update(r
+1,mid,nn,i*2);
                update(mid
+1,tree[i].r,nn,i*2+1);
            }

            
else if(l>mid)
            
{
                update(l,r,n,i
*2+1);
                update(r
+1,tree[i].r,nn,i*2+1);
                update(mid
+1,l-1,nn,i*2+1);
                update(tree[i].l,mid,nn,i
*2);

            }

            
else
            
{
                update(l,mid,n,i
*2);
                update(mid
+1,r,n,i*2+1);
                update(tree[i].l,l
-1,nn,i*2);
                update(r
+1,tree[i].r,nn,i*2+1);
            }

            
        }

        tree[i].n
=0;
    }


    
else if(tree[i].n==0)
    
{
        
if(l!=tree[i].l||r!=tree[i].r)
        
{
            
int mid=(tree[i].l+tree[i].r)>>1;
            
if(r<=mid)
                update(l,r,n,i
*2);
            
else if(l>mid)
                update(l,r,n,i
*2+1);
            
else
            
{
                update(l,mid,n,i
*2);
                update(mid
+1,r,n,i*2+1);
            }

        }

    }

}



int Que(int l,int r,int i)
{
    
int ans=0;
    
if(tree[i].l==l&&tree[i].r==r&&tree[i].n!=0)
    
{
        ans
=(r-l+1)*tree[i].n;
        
return ans;
    }

    
else
    
{
        
int mid=(tree[i].l+tree[i].r)>>1;
        
if(r<=mid)
            ans
= Que(l,r,i*2);
        
else if(l>mid)
            ans
= Que(l,r,i*2+1);
        
else
             ans
=Que(l,mid,i*2)+Que(mid+1,r,i*2+1);
        
return ans;
    }

}




int main()
{
    
int ca;
    scanf(
"%d",&ca);
    
int t=0;
    
while(ca--)
    
{
        t
++;

        
int n;
        scanf(
"%d",&n);
        build(
1,n,1);
        tree[
1].n=1;
        
int q;
        scanf(
"%d",&q);
        
int i;
        
for(i=1;i<=q;i++)
        
{
            
int a,b,c;
            scanf(
"%d%d%d",&a,&b,&c);
            update(a,b,c,
1);
        }

        printf(
"Case %d: The total value of the hook is %d.\n",t,Que(1,n,1));
    }

    
return 0;
}

發(fā)現(xiàn)我現(xiàn)場(chǎng)寫線段樹的能力太差,以后這種東西一定要能夠手寫,這題要好好總結(jié)一下。恩。東西學(xué)的多了,不一定是好事,對(duì)于靈活的東西一定要做到非常熟練,否則比賽的時(shí)候會(huì)很慢的。
#include<iostream>
using namespace std;
int const maxn=100100;

struct node
{
    
int n;
    
int l,r;
}
tree[maxn*4];

void build(int l,int r,int i)
{
    tree[i].l
=l;
    tree[i].r
=r;
    tree[i].n
=1;
    
if(l==r)
        
return;

    
int mid=(l+r)>>1;
    build(l,mid,i
*2);
    build(mid
+1,r,i*2+1);
}


void update(int l,int r,int n,int i)
{
    
int nn=tree[i].n;
    
if(l==tree[i].l&&r==tree[i].r)
    
{
        tree[i].n
=n;
        
return ;
    }

    
if(tree[i].n!=0)
    
{
        tree[i
*2].n=tree[i].n;
        tree[i
*2+1].n=tree[i].n;
        tree[i].n
=0;
    }

    
int mid=(tree[i].l+tree[i].r)>>1;
    
{
        
if(r<=mid)
            update(l,r,n,i
*2);
        
else if(l>mid)
            update(l,r,n,i
*2+1);
        
else
        
{
            update(l,mid,n,i
*2);
            update(mid
+1,r,n,i*2+1);
        }

    }

    
}



int Que(int l,int r,int i)
{
    
int ans=0;
    
if(tree[i].l==l&&tree[i].r==r&&tree[i].n!=0)
    
{
        ans
=(r-l+1)*tree[i].n;
        
return ans;
    }

    
else
    
{
        
int mid=(tree[i].l+tree[i].r)>>1;
        
if(r<=mid)
            ans
= Que(l,r,i*2);
        
else if(l>mid)
            ans
= Que(l,r,i*2+1);
        
else
            ans
=Que(l,mid,i*2)+Que(mid+1,r,i*2+1);
        
return ans;
    }

}




int main()
{
    
int ca;
    scanf(
"%d",&ca);
    
int t=0;
    
while(ca--)
    
{
        t
++;

        
int n;
        scanf(
"%d",&n);
        build(
1,n,1);
        tree[
1].n=1;
        
int q;
        scanf(
"%d",&q);
        
int i;
        
for(i=1;i<=q;i++)
        
{
            
int a,b,c;
            scanf(
"%d%d%d",&a,&b,&c);
            update(a,b,c,
1);
        }

        printf(
"Case %d: The total value of the hook is %d.\n",t,Que(1,n,1));
    }

    
return 0;
}

posted on 2010-07-17 11:42 abilitytao 閱讀(279) 評(píng)論(0)  編輯 收藏 引用


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            一区二区三区在线视频播放 | 欧美日韩ab| 香蕉久久夜色精品国产| 国产色综合天天综合网| 欧美国产第一页| 欧美精品不卡| 久久狠狠亚洲综合| 亚洲国产精品ⅴa在线观看| 亚洲综合国产| 久久综合精品国产一区二区三区| 国产主播精品在线| 一区二区三区国产精品| 欧美成人情趣视频| 你懂的视频欧美| 美国成人毛片| 亚洲人成7777| 久久久精品2019中文字幕神马| 久久久www| 欧美天天综合网| 国产精品久久久久7777婷婷| 久久在线免费观看| 欧美视频在线观看| 欧美激情91| 亚洲精品一区二区三区不| 久久精品国产v日韩v亚洲| 欧美一区二区在线| 老司机精品久久| 亚洲九九精品| 亚洲一区二区三区四区视频| 在线看片成人| 开心色5月久久精品| 欧美激情亚洲另类| 亚洲激情一区二区三区| 欧美在线不卡| 久久精品综合| 国产日韩一区二区三区在线| 亚洲国产精品999| 午夜一级在线看亚洲| 亚洲欧美日产图| 美女久久一区| 中文一区二区| 一区二区三区日韩| 亚洲国产欧美一区二区三区久久| 欧美在线资源| 国产亚洲aⅴaaaaaa毛片| 亚洲国产精品久久久久| 激情久久久久久久| 欧美gay视频| 亚洲日本成人网| 小处雏高清一区二区三区 | 欧美日韩美女| 亚洲免费视频中文字幕| 欧美日韩国产首页在线观看| 亚洲精品一二区| 亚洲一区二区av电影| 国产精品一区毛片| 日韩网站在线| 国产精品人人做人人爽| 久久精品女人| 日韩视频永久免费| 久久久久久久999| 久久久久久久久综合| 狠狠色丁香久久婷婷综合丁香| 亚洲午夜国产一区99re久久| 一本久道久久综合婷婷鲸鱼| 嫩草成人www欧美| 韩日欧美一区二区| 欧美日韩国产探花| 亚洲大片免费看| 久久久九九九九| 香港成人在线视频| 国产精品久久久久久超碰| 麻豆精品在线视频| 亚洲视频欧洲视频| 亚洲激情女人| 亚洲一区精品视频| 国产精品一区亚洲| 久久国产精品色婷婷| 亚洲精品影院在线观看| 久久中文在线| 亚洲美女尤物影院| 久久精品亚洲一区| 久久久久99| 国内免费精品永久在线视频| 亚洲欧美一区二区在线观看| 久久一日本道色综合久久| 在线精品亚洲一区二区| 欧美高清在线一区| 狂野欧美一区| 欧美刺激午夜性久久久久久久| 亚洲欧美日本另类| 欧美亚洲一区在线| 欧美专区第一页| 久久综合五月天婷婷伊人| 久久在线免费观看视频| 蜜臀久久99精品久久久久久9| 美女露胸一区二区三区| 欧美丰满高潮xxxx喷水动漫| 欧美国产亚洲视频| 欧美日韩中国免费专区在线看| 欧美手机在线视频| 精品91在线| 这里只有精品电影| 久久精品在这里| 亚洲精华国产欧美| 亚洲永久免费观看| 久久精品国产欧美激情| 欧美激情精品久久久久久大尺度| 国产精品扒开腿做爽爽爽视频| 国产欧美一区二区三区视频| 亚洲二区在线观看| 欧美一区二区三区四区在线观看| 免费看亚洲片| 午夜精品久久久久久久99热浪潮| 欧美激情综合五月色丁香小说| 国产精品综合久久久| 日韩亚洲一区在线播放| 欧美成人一品| 久久精品五月| 国产精品亚洲综合久久| 亚洲一区二区三区中文字幕| 欧美激情网友自拍| 久久亚洲不卡| 亚洲国产成人不卡| 欧美.日韩.国产.一区.二区| 亚洲欧美日韩一区在线观看| 欧美日韩免费精品| 最新国产成人av网站网址麻豆| 欧美一区亚洲二区| 亚洲一级片在线观看| 国产精品久久久久久av福利软件| 亚洲午夜精品网| 亚洲精品国产视频| 亚洲激情影视| 欧美午夜精品| 久久er精品视频| 久久久亚洲成人| 99视频精品| 午夜久久黄色| 99精品热6080yy久久 | 国产精品成人观看视频免费| 亚洲自拍偷拍麻豆| 老司机aⅴ在线精品导航| 9l视频自拍蝌蚪9l视频成人| 一区二区三区 在线观看视| 国产精品自拍三区| 亚洲日本中文| 国产一区二区观看| 亚洲伦理自拍| 亚洲风情亚aⅴ在线发布| 亚洲视屏在线播放| 亚洲青涩在线| 午夜亚洲福利| 亚洲在线电影| 欧美精品v国产精品v日韩精品 | 亚洲一区二区三区乱码aⅴ| 亚洲电影免费观看高清完整版在线观看| 亚洲精选一区二区| 亚洲国产欧美另类丝袜| 亚洲无人区一区| 亚洲精品一区二区三区不| 先锋影音一区二区三区| 亚洲欧美国产va在线影院| 欧美黑人在线播放| 99re66热这里只有精品4| 亚洲欧美另类在线| 午夜精品久久久| 国产精品国产精品国产专区不蜜| 亚洲国产日韩综合一区| 亚洲国产一区二区三区a毛片| 久久久99精品免费观看不卡| 久久激情五月婷婷| 狠狠色狠狠色综合| 久久久人成影片一区二区三区 | 亚洲精品黄网在线观看| 亚洲第一页中文字幕| 欧美天天影院| 亚洲影院色无极综合| 久久精品一区二区三区不卡| 国产精品自拍一区| 久久久精品动漫| 亚洲国产视频a| 亚洲一区二区三区免费观看 | 欧美色图一区二区三区| 亚洲视频专区在线| 欧美大秀在线观看| 亚洲综合色自拍一区| 狠狠网亚洲精品| 欧美视频免费在线| 久久视频在线视频| 在线视频你懂得一区| 久久亚洲不卡| 欧美在线播放视频| 妖精成人www高清在线观看| 国产精品麻豆成人av电影艾秋| 久久国产66| 中文网丁香综合网| 亚洲精品国偷自产在线99热| 久久综合成人精品亚洲另类欧美| 99re国产精品|