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

            ACM___________________________

            ______________白白の屋
            posts - 182, comments - 102, trackbacks - 0, articles - 0
            <2011年5月>
            24252627282930
            1234567
            891011121314
            15161718192021
            22232425262728
            2930311234

            常用鏈接

            留言簿(24)

            隨筆分類(332)

            隨筆檔案(182)

            FRIENDS

            搜索

            積分與排名

            最新隨筆

            最新評論

            閱讀排行榜

            評論排行榜

            MiYu原創(chuàng), 轉(zhuǎn)帖請注明 : 轉(zhuǎn)載自 ______________白白の屋    

            代碼
            <pre lang="cpp" line="1">
            /*
            Mail to   : miyubai@gamil.com
            My Blog   : www.baiyun.me
            Link      : 
            http://www.cnblogs.com/MiYu  || http://m.shnenglu.com/MiYu
            Author By : MiYu
            Test      : 1
            Complier  : g++ mingw32-3.4.2
            Program   :
            Doc Name  :
            */
            //#pragma warning( disable:4789 )
            #include <iostream>
            #include 
            <fstream>
            #include 
            <sstream>
            #include 
            <algorithm>
            #include 
            <string>
            #include 
            <set>
            #include
            <map>
            #include 
            <utility>
            #include 
            <queue>
            #include 
            <stack>
            #include
            <list>
            #include 
            <vector>
            #include 
            <cstdio>
            #include 
            <cstdlib>
            #include 
            <cstring>
            #include 
            <cmath>
            #include 
            <ctime>
            using namespace std;
            inline 
            bool scan_d(int &num)  //整數(shù)輸入
            {
                    
            char in;bool IsN=false;
                    
            in=getchar();
                    
            if(in==EOF) return false;
                    
            while(in!='-'&&(in<'0'||in>'9')) in=getchar();
                    
            if(in=='-'){ IsN=true;num=0;}
                    
            else num=in-'0';
                    
            while(in=getchar(),in>='0'&&in<='9'){
                            num
            *=10,num+=in-'0';
                    }
                    
            if(IsN) num=-num;
                    
            return true;
            }
            struct seg_tree{
                   
            int l,r,val;
                   
            long long sum;
                   
            int mid () { return (r+l) >> 1; }
                   
            int dis () { return r-l+1; }
            }seg[
            600000];
            int v[100010];
            void creat ( int x, int y, int rt = 1 ) {
                 seg[rt].l 
            = x;
                 seg[rt].r 
            = y;
                 seg[rt].val 
            = 0;
                 
            if ( x == y ) {
                     
            return ;
                 }
                 
            int mid = seg[rt].mid();
                 creat ( x, mid, rt 
            << 1 );
                 creat ( mid 
            + 1, y, rt << 1 | 1 );
            }
            long long cr ( int x, int y, int rt = 1 ) {
                 seg[rt].val 
            = 0;
                 
            if ( seg[rt].l == seg[rt].r ) {
                     seg[rt].sum 
            = v[x];
                     
            return v[x];
                 }
                 
            int mid = seg[rt].mid();
                 
            return seg[rt].sum = cr ( x, mid, rt << 1 )
                                    
            + cr ( mid + 1, y, rt << 1 | 1 );
            }
            inline 
            void pushdown ( int rt ) {
                 
            int LL = rt << 1, RR = rt << 1 | 1, mid = seg[rt].mid();
                 
            if ( seg[rt].val ) {
                     seg[LL].sum 
            += (long long)seg[LL].dis() * seg[rt].val;
                     seg[RR].sum 
            += (long long)seg[RR].dis() * seg[rt].val;
                     seg[LL].val 
            += seg[rt].val;
                     seg[RR].val 
            += seg[rt].val;
                     seg[rt].val 
            = 0;
                 }
            }
            void md ( int x, int y, int val, int rt = 1 ) {
                 
            if ( seg[rt].l == x && seg[rt].r == y ) {
                     seg[rt].val 
            += val;
                     seg[rt].sum 
            += (long long)seg[rt].dis() * val;
                     
            return;
                 }
                 
            int LL = rt << 1, RR = rt << 1 | 1, mid = seg[rt].mid();
                 pushdown ( rt );
                 
            if ( x > mid ) md ( x, y, val, RR );
                 
            else if ( y <= mid ) md ( x, y, val, LL );
                 
            else {
                      md ( x, mid, val, LL );
                      md ( mid
            +1, y, val, RR );
                 }
                 seg[rt].sum 
            = seg[LL].sum + seg[RR].sum;
            }
            long long q ( int x, int y, int rt = 1 ) {
                
            if ( seg[rt].l == x && seg[rt].r == y ) {
                        
            return seg[rt].sum;
                }
                pushdown ( rt );
                
            int LL = rt << 1, RR = rt << 1 | 1, mid = seg[rt].mid();
                
            if ( x > mid ) return q ( x, y, RR );
                
            else if ( y <= mid ) return q ( x, y, LL );
                
            else {
                     
            return q ( x, mid, LL ) + q ( mid + 1, y, RR );
                }
            }
            int main ()
            {
                
            int N, M;
                creat ( 
            1100000 );
                
            while ( scanf ( "%d%d"&N, &M ) == 2 ) {
                      
            for ( int i = 1; i <= N; ++ i ) scanf ( "%d"&v[i] );
                      cr ( 
            1, N );
                      
            while ( M -- ) {
                            
            char s[5];
                            
            int x, y, val;
                            scanf ( 
            "%s", s );
                            
            switch ( s[0] ) {
                                   
            case 'Q':
                                        scanf ( 
            "%d%d"&x, &y );
                                        printf ( 
            "%lld\n", q ( x, y ) );
                                        
            break;
                                   
            case 'C':
                                        scanf ( 
            "%d%d%d"&x, &y, &val );
                                        md ( x, y, val );
                            }
                      }
                }
                
            return 0;
            }
            </pre>

             

            Feedback

            # re: HDU 3468 HDOJ 3468 A Simple Problem with Integers ACM 3468 IN HDU  回復  更多評論   

            2012-02-29 17:55 by 陳浩
            你好。。。我是學生 真心想學習 C++ 現(xiàn)在在A一些簡單的題目 可以 傳授點經(jīng)驗嗎? 希望在A題目的過程中可以得到一些幫助 可以加我QQ535244373 嗎?
            久久99精品久久久久久水蜜桃| 亚洲精品国产综合久久一线| 99久久中文字幕| 久久精品成人免费网站| 国产精品成人无码久久久久久 | 一本久久知道综合久久| 久久精品毛片免费观看| 久久亚洲精品无码播放| 亚洲欧洲日产国码无码久久99| 国产呻吟久久久久久久92| 亚洲女久久久噜噜噜熟女| 精品水蜜桃久久久久久久| 亚洲AV日韩精品久久久久久| 久久www免费人成看国产片| 久久水蜜桃亚洲av无码精品麻豆| 久久国产精品免费一区二区三区| 久久久久亚洲精品日久生情| 国产精品伊人久久伊人电影| 99久久国产热无码精品免费| 亚洲欧美国产日韩综合久久| 久久久99精品成人片中文字幕 | 理论片午午伦夜理片久久| 国产亚洲精久久久久久无码 | 久久亚洲国产欧洲精品一| 久久久久久亚洲精品成人| 7777久久久国产精品消防器材| 久久综合色区| 伊人热热久久原色播放www| 国内精品久久久久国产盗摄| 久久国产亚洲精品麻豆| 国产美女久久精品香蕉69| AV无码久久久久不卡蜜桃| 国产精品久久久久蜜芽| 麻豆av久久av盛宴av| 久久午夜福利无码1000合集| 7777精品伊人久久久大香线蕉 | 97久久综合精品久久久综合| 99re久久精品国产首页2020| 久久精品一区二区| 久久婷婷五月综合色99啪ak| 天天做夜夜做久久做狠狠|