• <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>

            HDU 1754 I hate it

             1 #include <iostream>
             2 #include <cstdio>
             3 #include <cstring>
             4 using namespace std;
             5 
             6 const int MaxSize=2000001;
             7 
             8 struct Node
             9 {    int left,right,mid;
            10     int max;
            11 }itree[MaxSize*3];
            12 
            13 int nu[MaxSize];
            14 
            15 int Build(int l,int r,int num)
            16 {    itree[num].left=l;
            17     itree[num].right=r;
            18     itree[num].mid=(l+r)>>1;
            19     if(l==r)
            20     {    return itree[num].max=nu[l];
            21     }
            22     
            23     int lm=Build(l,itree[num].mid,num<<1);
            24     int rm=Build(itree[num].mid+1,r,(num<<1)+1);
            25     return (itree[num].max=lm>rm?lm:rm);
            26 }
            27 
            28 void Update(int id,int val,int num)
            29 {    if(itree[num].left==itree[num].right)
            30     {    itree[num].max=val;
            31         return;
            32     }
            33 
            34     if(id<=itree[num].mid)
            35         Update(id,val,num<<1);
            36     else
            37         Update(id,val,(num<<1)+1);
            38     itree[num].max=itree[num<<1].max>itree[num*2+1].max?itree[num<<1].max:itree[num*2+1].max;
            39 }
            40 
            41 int Query(int l,int r,int num)
            42 {    if(itree[num].left==l&&itree[num].right==r)
            43         return itree[num].max;
            44     if(r<=itree[num].mid)
            45         return Query(l,r,num<<1);
            46     if(l>itree[num].mid)
            47         return Query(l,r,num*2+1);
            48     int lm=Query(l,itree[num].mid,num<<1);
            49     int rm=Query(itree[num].mid+1,r,num*2+1);
            50     return lm>rm?lm:rm;
            51 }
            52 
            53 int main()
            54 {    int N,M;
            55     while(scanf("%d%d",&N,&M)!=EOF)
            56     {    for(int i=1;i<=N;i++)
            57             scanf("%d",ν[i]);
            58         
            59         Build(1,N,1);
            60         char c[100];
            61         int a,b;
            62         for(int i=1;i<=M;i++)
            63         {    scanf("%s%d%d",c,&a,&b);
            64             if(c[0]=='Q')
            65                 printf("%d\n",Query(a,b,1));
            66             else
            67                 Update(a,b,1);
            68         }
            69     }
            70     return 0;
            71 }

            posted on 2010-08-30 16:48 ZAKIR 閱讀(99) 評論(0)  編輯 收藏 引用 所屬分類: HDU

            <2025年7月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            導航

            統計

            常用鏈接

            留言簿

            隨筆檔案

            文章分類

            文章檔案

            大牛們

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            精品国产综合区久久久久久| 99久久免费国产特黄| 久久人人爽人人人人爽AV| 99久久做夜夜爱天天做精品| 日韩精品久久久久久免费| 久久免费高清视频| 久久综合九色综合网站| AV无码久久久久不卡网站下载 | 粉嫩小泬无遮挡久久久久久| 国产呻吟久久久久久久92| 久久精品无码午夜福利理论片| 国产成人久久精品麻豆一区| 久久综合88熟人妻| 久久一区二区三区免费| 青青草原综合久久| 久久久精品国产sm调教网站| 色综合久久夜色精品国产| 国内精品久久久久国产盗摄| 久久97精品久久久久久久不卡| 久久久久久久久久久精品尤物| 国产福利电影一区二区三区久久老子无码午夜伦不 | 成人久久久观看免费毛片| 99久久国产宗和精品1上映| 久久精品国产一区二区三区不卡| 国产成年无码久久久久毛片| 久久精品天天中文字幕人妻| 亚洲国产欧洲综合997久久| 无码人妻久久一区二区三区蜜桃| 久久精品免费网站网| 青青青国产精品国产精品久久久久| 久久香蕉超碰97国产精品| 久久精品国产99国产精品亚洲 | 亚洲精品国产成人99久久| 久久精品国产99国产电影网| 国产精品无码久久综合| 日产精品99久久久久久| 久久精品99久久香蕉国产色戒| 久久精品国产久精国产思思 | 亚洲AV无码久久精品色欲| 无码伊人66久久大杳蕉网站谷歌 | 久久久久国产一区二区|