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

coreBugZJ

此 blog 已棄。

EOJ 2525 Light Switching

  1/*
  2EOJ 2525 Light Switching
  3
  4
  5----問題描述:
  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 閱讀(633) 評論(0)  編輯 收藏 引用 所屬分類: ACMAlgorithmDataStructure課內作業

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            91久久极品少妇xxxxⅹ软件| 欧美成人蜜桃| 国产精品日日摸夜夜添夜夜av| 91久久国产精品91久久性色| 久久亚洲私人国产精品va| 久久久午夜精品| 亚洲精品乱码久久久久久久久| 亚洲人精品午夜| 欧美色综合网| 欧美专区在线观看一区| 欧美专区一区二区三区| 精品91在线| 亚洲级视频在线观看免费1级| 欧美精品久久一区| 欧美一级播放| 免费在线看成人av| 亚洲欧美一区二区三区在线 | 亚洲欧洲精品一区二区| 99在线精品免费视频九九视| 国产精品自拍一区| 亚洲国产aⅴ天堂久久| 国产精品久久97| 欧美电影打屁股sp| 国产精品一区二区男女羞羞无遮挡| 久久久久久久久综合| 欧美韩国日本综合| 久久久精品欧美丰满| 欧美美女bbbb| 浪潮色综合久久天堂| 欧美视频不卡| 亚洲第一精品福利| 国产亚洲激情| 亚洲视频www| 亚洲精品偷拍| 久久久久女教师免费一区| 亚洲线精品一区二区三区八戒| 久久精品日韩一区二区三区| 亚洲午夜精品在线| 欧美韩日一区| 欧美电影免费观看网站| 国产在线观看91精品一区| 99精品99| 亚洲最快最全在线视频| 久久影院亚洲| 久久视频在线视频| 国产日韩欧美黄色| 亚洲一区3d动漫同人无遮挡| 91久久国产综合久久| 久久久美女艺术照精彩视频福利播放 | 欧美国产三级| 欧美成人高清| 伊人久久综合97精品| 午夜日韩av| 欧美一级夜夜爽| 国产精品视频一区二区三区| 亚洲欧洲综合另类| 日韩亚洲欧美高清| 欧美国产一区二区在线观看 | 亚洲人www| 女女同性女同一区二区三区91| 久久亚洲一区二区| 伊甸园精品99久久久久久| 欧美一级欧美一级在线播放| 欧美伊人精品成人久久综合97| 国产精品v日韩精品v欧美精品网站| 亚洲三级国产| 国产精品99久久久久久www| 欧美日本不卡| 亚洲一区日韩在线| 欧美在线亚洲一区| 国内精品伊人久久久久av一坑| 欧美一级淫片播放口| 久久精品视频播放| 精品va天堂亚洲国产| 久久久久国产一区二区| 免费精品99久久国产综合精品| 激情久久五月天| 欧美成人日本| 在线一区视频| 久久精品二区| 亚洲精品乱码久久久久久蜜桃麻豆| 免费久久精品视频| 一区二区欧美在线| 久久精品国产视频| 亚洲激情在线观看| 国产精品v欧美精品v日韩精品| 亚洲欧美一区二区三区在线| 久久久噜噜噜久久中文字免| 在线观看的日韩av| 欧美视频中文字幕在线| 亚洲欧美一区二区视频| 欧美成人免费va影院高清| 在线一区二区日韩| 国产亚洲制服色| 欧美激情视频在线播放| 亚洲欧美日韩精品一区二区| 嫩草伊人久久精品少妇av杨幂| 日韩系列在线| 国内精品视频在线播放| 欧美激情一区二区三区不卡| 亚洲在线播放| 亚洲韩国青草视频| 久久精品理论片| 99在线精品观看| 狠狠入ady亚洲精品| 欧美日韩一区二区三区四区在线观看 | 国产精品视频久久一区| 久久久久一区二区三区四区| 亚洲国产成人久久综合| 午夜免费日韩视频| 亚洲精品视频在线看| 国产亚洲福利社区一区| 欧美日韩亚洲一区二区| 久久久爽爽爽美女图片| 亚洲视频在线观看| 91久久精品国产91久久| 久久精品亚洲精品国产欧美kt∨| 亚洲精选一区| 在线成人免费观看| 国产一区二区三区在线观看免费| 欧美日韩国产成人在线91| 久久久久久一区二区| 亚洲欧美韩国| 一区二区福利| 日韩视频中文| 亚洲日本免费电影| 欧美福利电影网| 久久先锋影音| 久久九九国产精品| 亚洲一区二区三区精品在线| 另类春色校园亚洲| 久久精品导航| 国产日本欧洲亚洲| 亚洲欧美国产va在线影院| 国产精品免费一区豆花| 日韩一区二区久久| 亚洲国产精品美女| 欧美高清在线一区| 欧美成人精品| 欧美国产欧美综合| 欧美不卡视频一区发布| 久久婷婷亚洲| 久久综合狠狠综合久久综青草| 欧美一区影院| 久久久国产精品一区二区三区| 欧美一级淫片播放口| 午夜欧美不卡精品aaaaa| 亚洲一区三区视频在线观看| 夜夜精品视频一区二区| 99综合视频| 亚洲无亚洲人成网站77777 | 国产日本欧美一区二区三区在线| 久久久久高清| 亚洲一区二区在线看| 亚洲一区二区三区乱码aⅴ| 一区二区三区久久久| 一区二区三区四区五区精品视频| 亚洲另类在线视频| 亚洲天堂网在线观看| 亚洲一区日韩| 久久久久88色偷偷免费| 蜜桃久久精品一区二区| 欧美极品一区二区三区| 欧美视频一区二区三区| 国产精品色网| 伊人成综合网伊人222| 亚洲精品日产精品乱码不卡| 99精品国产热久久91蜜凸| 在线综合亚洲欧美在线视频| 亚洲一区二区三区精品在线| 久久精品二区三区| 欧美高清视频一区二区| 亚洲伦理久久| 久久av在线| 欧美人妖另类| 黄色成人免费观看| 一区二区三区日韩欧美| 欧美在线视频全部完| 欧美国产日本在线| 在线视频亚洲| 欧美~级网站不卡| 国产精品亚洲片夜色在线| 有码中文亚洲精品| 亚洲一区二区三区免费在线观看| 久久国产主播| 99国内精品久久| 麻豆精品网站| 国产伦精品一区二区| 亚洲欧洲精品一区二区三区| 午夜视频在线观看一区二区| 免费日本视频一区| 午夜亚洲性色福利视频| 欧美福利视频网站| 在线播放日韩欧美| 欧美亚洲视频在线观看| 亚洲国产综合91精品麻豆| 久久精品国产亚洲5555| 欧美日韩在线视频一区二区| 激情视频亚洲| 久久国内精品自在自线400部|