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

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>
            一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 亚洲国产成人在线视频| 亚洲影院在线观看| 国产精品手机视频| 欧美在线视频在线播放完整版免费观看| 亚洲视频久久| 国产亚洲欧美一区二区| 另类av导航| 欧美激情综合| 午夜精品免费在线| 午夜综合激情| 91久久国产自产拍夜夜嗨| 亚洲精品一区二区在线| 国产毛片一区二区| 欧美波霸影院| 欧美三级电影一区| 久久久久久久性| 欧美成人一区二区| 午夜在线精品偷拍| 久久亚洲一区二区三区四区| 99www免费人成精品| 亚洲色在线视频| 激情综合激情| 99精品国产在热久久婷婷| 国产香蕉97碰碰久久人人| 欧美成人午夜激情视频| 国产精品家教| 欧美激情国产日韩精品一区18| 欧美午夜性色大片在线观看| 久久久亚洲人| 欧美视频一区在线观看| 免费日韩成人| 国产精品欧美风情| 亚洲国产一区二区三区在线播 | 久久精品人人做人人爽电影蜜月| 亚洲日韩欧美视频一区| 性感少妇一区| 亚洲免费综合| 免费欧美日韩国产三级电影| 午夜精品视频在线观看一区二区| 免费日韩av片| 美女视频黄 久久| 国产精品永久免费观看| 亚洲免费黄色| 亚洲理论在线| 久久看片网站| 久久久精品一品道一区| 国产精品区一区| 亚洲日本中文字幕区| 在线免费观看成人网| 香蕉亚洲视频| 欧美一区二区视频在线| 欧美亚一区二区| 亚洲精品久久久久久下一站 | 国产精品成人一区二区三区夜夜夜| 麻豆精品在线播放| 国产亚洲视频在线| 欧美一区二区三区婷婷月色| 亚洲欧美另类在线| 国产精品v日韩精品| 一本色道久久99精品综合| 一本大道久久a久久综合婷婷| 欧美jizz19性欧美| 欧美成ee人免费视频| 在线免费观看日本一区| 久久人人97超碰精品888| 理论片一区二区在线| 韩国av一区二区三区| 久久精品一区二区三区中文字幕| 欧美影院午夜播放| 国产亚洲一区二区在线观看| 久久av一区二区| 久久视频在线视频| 亚洲国产欧美一区二区三区久久| 久久中文字幕一区二区三区| 欧美高清成人| 一本一本a久久| 亚洲精品社区| 久久久www免费人成黑人精品| 美国十次成人| 亚洲美女视频网| 欧美视频免费在线观看| 亚洲专区在线视频| 久久久久九九视频| 亚洲国产mv| 欧美日韩国产一区精品一区| 亚洲天堂黄色| 美脚丝袜一区二区三区在线观看| 亚洲人成网站在线播| 欧美美女日韩| 亚洲欧美另类综合偷拍| 老鸭窝亚洲一区二区三区| 日韩午夜在线电影| 国产女人aaa级久久久级| 久久精品官网| 99在线精品视频| 久久精品在线观看| 亚洲国产专区| 国产精品视频一二三| 久久精品视频一| 日韩亚洲欧美高清| 久久青青草综合| 亚洲精品一区在线观看| 国产精品久久久久久久久搜平片| 久久久久国产精品厨房| 亚洲免费大片| 欧美1区2区视频| 亚洲欧美一区二区在线观看| 亚洲第一二三四五区| 国产精品啊v在线| 久久综合色影院| 亚洲欧美在线aaa| 亚洲精品欧洲精品| 可以看av的网站久久看| 午夜精彩视频在线观看不卡| 亚洲区在线播放| 国产主播精品在线| 国产精品久久久久高潮| 欧美成人精品1314www| 久久激情婷婷| 亚洲尤物影院| 一区二区三区色| 亚洲欧洲另类国产综合| 你懂的视频欧美| 久久看片网站| 久久激情一区| 午夜精品福利电影| 亚洲特色特黄| 一区二区三区成人精品| 亚洲裸体视频| 亚洲人成网站色ww在线| 在线播放视频一区| 激情欧美一区二区三区| 国产欧美日韩一区二区三区在线| 欧美日韩亚洲一区三区| 欧美韩国日本综合| 欧美高清在线精品一区| 蜜桃久久av一区| 久久综合九色九九| 蜜桃av一区| 免费国产自线拍一欧美视频| 美女诱惑黄网站一区| 久久综合久久88| 六月丁香综合| 欧美国产一区二区| 欧美激情成人在线视频| 欧美理论电影在线播放| 欧美日本不卡视频| 欧美视频官网| 国产精品毛片va一区二区三区| 欧美午夜精品久久久久久人妖| 欧美日韩中文精品| 国产精品毛片a∨一区二区三区| 国产精品久久久久久久午夜 | 久久精品夜色噜噜亚洲a∨| 欧美在线电影| 久久综合九色综合久99| 欧美不卡在线视频| 欧美日韩综合精品| 国产精品夜色7777狼人| 国产亚洲一区二区三区在线观看| 极品尤物久久久av免费看| 在线播放国产一区中文字幕剧情欧美| 在线观看一区欧美| 99热精品在线| 校园春色综合网| 你懂的视频一区二区| 亚洲激情图片小说视频| 亚洲午夜小视频| 久久九九免费视频| 欧美日本免费| 国产日韩欧美中文| 亚洲人成小说网站色在线| 中国成人黄色视屏| 久久人人爽爽爽人久久久| 欧美激情一二三区| 亚洲一区二区av电影| 久久午夜电影| 国产精品久久| 亚洲激情av| 久久精品国产精品亚洲精品| 亚洲福利国产精品| 亚洲中无吗在线| 欧美岛国在线观看| 国产亚洲精品bt天堂精选| 日韩午夜黄色| 久久精品视频99| 亚洲精品久久视频| 久久久久久久综合狠狠综合| 欧美性色综合| 亚洲日本精品国产第一区| 久久岛国电影| 夜夜嗨av色综合久久久综合网| 久久色在线观看| 国产精品一区免费在线观看| 99re亚洲国产精品| 欧美a级一区| 久久精品成人一区二区三区| 国产精品二区影院| 99精品黄色片免费大全|