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

coreBugZJ

此 blog 已棄。

EOJ 2525 Light Switching

  1/*
  2EOJ 2525 Light Switching
  3
  4
  5----問(wèn)題描述:
  6
  7Farmer John tries to keep the cows sharp by letting them play with intellectual toys.
  8One of the larger toys is the lights in the barn.
  9
 10Each of the N (2 <= N <= 100,000) cow stalls conveniently numbered 1..N has a colorful light above it.
 11
 12At the beginning of the evening, all the lights are off. The cows control the lights with a set of N pushbutton switches that toggle the lights; pushing switch i changes the state of light i from off to on or from on to off.
 13
 14The cows read and execute a list of M (1 <= M <= 100,000) operations expressed as one of two integers (0 <= operation <= 1).
 15
 16The first operation (denoted by a 0 command) includes two subsequent integers S_i and E_i (1 <= S_i <= E_i <= N) that indicate a starting switch and ending switch. They execute the operation by pushing each pushbutton from S_i through E_i inclusive exactly once.
 17
 18The second operation (denoted by a 1 command) asks the cows to count how many lights are on in the range given by two integers S_i and E_i (1 <= S_i <= E_i <= N) which specify the inclusive range in which the cows should count the number of lights that are on.
 19
 20Help FJ ensure the cows are getting the correct answer by processing the list and producing the proper counts. 
 21
 22
 23----輸入:
 24
 25* Line 1: Two space-separated integers: N and M
 26
 27* Lines 2..M+1: Each line represents an operation with three space-separated integers: operation, S_i, and E_i 
 28
 29
 30----輸出:
 31
 32* Lines 1..number of queries: For each output query, print the count as an integer by itself on a single line.
 33
 34
 35----樣例輸入:
 36
 374 5
 380 1 2
 390 2 4
 401 2 3
 410 2 4
 421 1 4
 43
 44INPUT DETAILS:
 45 
 46Four lights; five commands. Here is the sequence that should be processed:
 47
 48=========Lights
 49=========1 2 3 4
 50Init:====O O O O , O = off * = on
 510 1 2 -->* * O O ,toggle lights 1 and 2
 520 2 4 -->* O * *
 531 2 3 -->1 ,count the number of lit lights in range 2..3
 540 2 4 -->* * O O ,toggle lights 2, 3, and 4
 551 1 4 -->2 ,count the number of lit lights in the range 1..4
 56
 57
 58----樣例輸出:
 59
 601
 612
 62
 63
 64----分析:
 65
 66
 67*/

 68
 69
 70template<unsigned int N>
 71class CProblem
 72{
 73public : 
 74        void init( int b, int e ){
 75                init( 1, b, e );
 76        }

 77        int query( int b, int e ){
 78                begin = b;
 79                end   = e;
 80                return query( 1 );
 81        }

 82        void modify( int b, int e ){
 83                begin = b;
 84                end   = e;
 85                modify( 1 );
 86        }

 87
 88private : 
 89        void init( int node, int b, int e ){
 90                left    [ node ] = b;
 91                right   [ node ] = e;
 92                sum     [ node ] = 0;
 93                modified[ node ] = false;
 94                if( b + 1 < e ){
 95                        init( node + node, b, ( b + e ) / 2 );
 96                        init( node + node + 1, ( b + e ) / 2, e );
 97                }

 98        }

 99        int query( int node ){
100                if( ( end <= left[ node ] ) || ( right[ node ] <= begin ) ){
101                        return 0;
102                }

103                if( ( begin <= left[ node ] ) && ( right[ node ] <= end ) ){
104                        return sum[ node ];
105                }

106                int len = ( right[ node ] > end ? end : right[ node ] ) - ( left[ node ] < begin ? begin : left[ node ] );
107                return ( modified[ node ] ) ? ( len - query( node + node ) - query( node + node + 1 ) ) : ( query( node + node ) + query( node + node + 1 ) );
108        }

109        void modify( int node ){
110                if( ( end <= left[ node ] ) || ( right[ node ] <= begin ) ){
111                        return;
112                }

113                if( ( begin <= left[ node ] ) && ( right[ node ] <= end ) ){
114                        sum[ node ] = right[ node ] - left[ node ] - sum[ node ];
115                        modified[ node ] = ! modified[ node ];
116                        return;
117                }

118                modify( node + node );
119                modify( node + node + 1 );
120                sum[ node ] = ( modified[ node ] ) ? ( right[ node ] - left[ node ] - sum[ node + node ] - sum[ node + node + 1 ] ) : ( sum[ node + node ] + sum[ node + node + 1 ] );
121        }

122
123        int  left[ N + N ], right[ N + N ], sum[ N + N ], begin, end;
124        bool modified[ N + N ];
125}
;
126
127#include <iostream>
128#include <cstdio>
129
130using namespace std;
131
132CProblem<150003> prob;
133
134int main(){
135        int n, m, cmd, a, b;
136        scanf( "%d%d"&n, &m );
137        prob.init( 1, n + 1 );
138        while( m-- ){
139                scanf( "%d%d%d"&cmd, &a, &b );
140                if( cmd ){
141                        printf( "%d\n", prob.query( a, b + 1 ) );
142                }

143                else{
144                        prob.modify( a, b + 1 );
145                }

146        }

147        return 0;
148}

149

posted on 2012-04-22 22:46 coreBugZJ 閱讀(641) 評(píng)論(0)  編輯 收藏 引用 所屬分類: ACM 、AlgorithmDataStructure課內(nèi)作業(yè)

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美亚洲自偷自偷| 亚洲午夜精品久久久久久app| 香蕉久久一区二区不卡无毒影院| 欧美视频手机在线| 亚洲一卡久久| 午夜久久影院| 在线观看一区| 亚洲国产精品专区久久| 欧美成人午夜| 亚洲天堂av在线免费| 制服丝袜激情欧洲亚洲| 国产精品久久久一区二区| 性欧美长视频| 久久亚洲欧洲| 亚洲一区二区三区乱码aⅴ蜜桃女| 一二三区精品| 在线观看欧美成人| 亚洲精品视频一区| 国产人成一区二区三区影院| 米奇777在线欧美播放| 蜜桃伊人久久| 午夜一区二区三区在线观看 | 91久久国产综合久久91精品网站| 亚洲欧洲精品一区二区| 国产精品美女主播| 欧美成人午夜视频| 国产精品久久777777毛茸茸| 久久青青草综合| 欧美日韩视频在线观看一区二区三区 | 宅男噜噜噜66国产日韩在线观看| 国产精品亚洲精品| 亚洲黄网站黄| 国产综合视频| 亚洲视频欧美视频| 亚洲人成亚洲人成在线观看图片| 中文在线资源观看视频网站免费不卡| 国产一区二区三区精品久久久| 亚洲大胆av| 激情亚洲一区二区三区四区| 亚洲视频综合| 亚洲精品国偷自产在线99热| 亚洲欧美日韩在线高清直播| 一区二区三区成人| 久久中文字幕导航| 久久成人av少妇免费| 欧美日韩国产色综合一二三四 | 亚洲国产综合在线| 欧美亚洲免费| 午夜在线一区二区| 欧美日韩国产在线播放| 欧美国产欧美亚洲国产日韩mv天天看完整| 国产精品户外野外| 亚洲精品一区二区网址 | 欧美日韩成人一区二区| 美国成人毛片| 国产一区二区三区久久久| 在线一区二区三区四区| 一区二区日韩免费看| 欧美电影免费| 亚洲国产精品专区久久| 在线观看精品| 久久日韩精品| 奶水喷射视频一区| 又紧又大又爽精品一区二区| 欧美伊人久久久久久久久影院| 亚洲欧美一区二区原创| 国产精品久久久久久久久久ktv| 亚洲人成人一区二区在线观看| 亚洲欧洲午夜| 欧美精品在线视频| 亚洲精品美女91| 宅男噜噜噜66一区二区| 欧美日韩在线影院| 亚洲一区二区在线看| 欧美亚洲在线播放| 国产区在线观看成人精品| 欧美一级精品大片| 理论片一区二区在线| 亚洲激情啪啪| 欧美日本中文字幕| 亚洲调教视频在线观看| 久久精品国产一区二区电影| 国产一区日韩欧美| 美女久久一区| 99ri日韩精品视频| 欧美在线电影| 亚洲国产99精品国自产| 欧美成人官网二区| 一区二区三区.www| 久久成人综合网| 亚洲欧洲精品一区二区三区波多野1战4 | 另类酷文…触手系列精品集v1小说| 欧美电影免费| 中文国产亚洲喷潮| 国产午夜亚洲精品不卡| 鲁大师影院一区二区三区| 亚洲精品在线看| 欧美中文字幕第一页| 136国产福利精品导航| 欧美激情在线播放| 亚洲摸下面视频| 亚洲福利小视频| 午夜亚洲精品| 亚洲精品国产精品乱码不99按摩 | 欧美一级视频| 亚洲精品免费看| 久久久夜夜夜| 亚洲小说春色综合另类电影| 一区精品在线播放| 国产精品xnxxcom| 久热re这里精品视频在线6| 夜夜嗨网站十八久久| 麻豆av福利av久久av| 亚洲午夜激情网页| 亚洲国产一区二区三区在线播| 国产精品久久久久久久久婷婷| 久久综合国产精品| 午夜免费久久久久| 亚洲免费成人av| 欧美成人免费在线| 久久精品91| 亚洲欧美成人一区二区三区| 亚洲品质自拍| 在线看国产日韩| 国产私拍一区| 国产精品久久久久久模特| 欧美大香线蕉线伊人久久国产精品| 午夜在线a亚洲v天堂网2018| 亚洲看片一区| 亚洲级视频在线观看免费1级| 久久免费国产精品1| 香港成人在线视频| 中文日韩欧美| 99综合电影在线视频| 亚洲黄色在线| 亚洲精品1区2区| 影音先锋亚洲电影| 韩国女主播一区| 国产真实精品久久二三区| 国产麻豆午夜三级精品| 国产精品videosex极品| 欧美日韩三级视频| 欧美日韩无遮挡| 欧美了一区在线观看| 欧美日韩精品免费看| 欧美另类专区| 欧美午夜视频在线观看| 欧美午夜www高清视频| 欧美色欧美亚洲高清在线视频| 欧美久久成人| 国产精品初高中精品久久| 欧美三区在线视频| 国产精品三上| 国产一区二区三区在线观看免费 | 99re6热只有精品免费观看| 亚洲三级免费| 99热精品在线观看| 亚洲一区免费网站| 亚洲欧美综合网| 久久国内精品视频| 免费观看国产成人| 亚洲国产精品热久久| 亚洲精品乱码久久久久久| 日韩亚洲欧美在线观看| 亚洲视频视频在线| 欧美在线一二三| 欧美超级免费视 在线| 欧美影院在线播放| 久久亚洲综合色| 亚洲国产老妈| 亚洲欧美卡通另类91av| 欧美在线免费| 欧美激情区在线播放| 国产精品日本| 在线观看国产欧美| 一区二区国产精品| 久久久www成人免费毛片麻豆| 欧美.www| 99re66热这里只有精品4| 亚洲一区图片| 欧美电影在线| 国产欧美精品国产国产专区| 亚洲国产成人tv| 午夜精品福利一区二区三区av| 久久久国产一区二区| 亚洲日本电影| 久久动漫亚洲| 国产精品videossex久久发布| 国语精品中文字幕| 亚洲午夜伦理| 欧美激情va永久在线播放| 亚洲午夜在线观看| 欧美成人蜜桃| 国产一区亚洲一区| 亚洲欧美激情四射在线日| 欧美大秀在线观看| 欧美中日韩免费视频| 欧美体内she精视频| 亚洲欧洲精品一区二区三区| 久久精品91久久久久久再现|