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

gzwzm06

  C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
  1 隨筆 :: 52 文章 :: 17 評論 :: 0 Trackbacks
  1#include <cstdio>
  2
  3const int SIZE = 100101;
  4
  5struct STREE
  6{
  7    int m_start;
  8    int m_end;
  9    int m_left;
 10    int m_right;
 11    int m_num;
 12    int m_srcS;
 13    int m_srcE;
 14    int m_equal;
 15}
stree[SIZE * 2];
 16int gIndex = 1;
 17
 18int rs_n;
 19int srcS, srcE;
 20
 21void BuildSTree(const int& id, const int& s, const int& e)
 22{
 23    stree[id].m_start = s;
 24    stree[id].m_end = e;
 25    stree[id].m_srcS = 100000;
 26    stree[id].m_srcE = 0;
 27    stree[id].m_num = 0;
 28    stree[id].m_equal = false;
 29
 30    if ( s == e )
 31    {
 32        stree[id].m_equal = true;
 33        return ;
 34    }

 35
 36    int mid = (s + e) >> 1;
 37
 38    stree[id].m_left = gIndex++;
 39    BuildSTree( stree[id].m_left, s, mid );
 40
 41    stree[id].m_right = gIndex++;
 42    BuildSTree( stree[id].m_right, mid + 1, e );
 43}

 44
 45void Insert(const int& id, const int&p, const int& num)
 46{
 47    if ( stree[id].m_num < num )
 48        stree[id].m_num = num;
 49
 50    if ( stree[id].m_srcS > srcS )
 51        stree[id].m_srcS = srcS;
 52    if ( stree[id].m_srcE < srcE )
 53        stree[id].m_srcE = srcE;
 54
 55    if ( stree[id].m_start == p && stree[id].m_end == p )
 56    {
 57        stree[id].m_srcS = srcS;
 58        stree[id].m_srcE = srcE;
 59        return;
 60    }

 61
 62    int mid = (stree[id].m_start + stree[id].m_end) >> 1;
 63
 64    if ( mid >= p )
 65    {
 66        Insert( stree[id].m_left, p, num );
 67    }

 68    else
 69    {
 70        Insert( stree[id].m_right, p, num );
 71    }

 72}

 73
 74void Query(const int& id, const int& s, const int& e)
 75{
 76    if ( stree[id].m_srcS == s && stree[id].m_srcE == e )
 77    {
 78        if ( rs_n < stree[id].m_num )
 79            rs_n = stree[id].m_num;
 80        return;
 81    }

 82    if ( stree[id].m_equal && stree[id].m_srcS <= s && stree[id].m_srcE >= e )
 83    {
 84        if ( rs_n < e - s + 1 )
 85            rs_n = e - s + 1;
 86
 87        return;
 88    }

 89    int l = stree[id].m_left, r = stree[id].m_right;
 90
 91    if ( stree[l].m_srcE >= e )
 92    {
 93        Query( l, s, e );
 94    }

 95    else if ( s > stree[r].m_srcS )
 96    {
 97        Query( r, s, e );
 98    }

 99    else {
100        Query( l, s, stree[l].m_srcE  );
101        Query( r, stree[r].m_srcS, e );
102    }

103}

104
105int arr[SIZE], N, Q;
106int rs[SIZE][2];
107
108int main()
109{
110    int i, p;
111
112    while ( scanf("%d"&N) && N != 0 )
113    {
114        scanf("%d"&Q);
115        
116        gIndex = 1;
117
118        for ( i = 1; i <= N; ++i )
119        {
120            scanf("%d"&arr[i]);
121        }

122
123        srcS = 1;
124        p = 1;
125        for ( i = 2; i <= N; ++i )
126        {
127            if ( arr[i] != arr[i - 1] )
128            {
129                srcE = i - 1;
130                rs[p][0= srcS;
131                rs[p][1= srcE;
132                srcS = i;
133                p++;
134            }

135        }

136        rs[p][0= srcS;
137        rs[p][1= N;
138        
139        BuildSTree( 01, p );
140
141        for ( i = 1; i <= p; ++i )
142        {
143            srcS = rs[i][0];
144            srcE = rs[i][1];
145            Insert( 0, i, srcE - srcS + 1 );
146        }

147
148        for ( i = 0; i < Q; ++i )
149        {
150    
151            scanf("%d %d"&srcS, &srcE);
152            rs_n = 0;
153
154            if ( srcS == srcE )
155            {
156                printf("1\n");
157            }

158            else if ( srcS == srcE - 1 )
159            {
160                if ( arr[srcS] == arr[srcE] )
161                    printf("2\n");
162                else
163                    printf("1\n");
164            }

165            else {
166                Query( 0, srcS, srcE );
167                printf("%d\n", rs_n);
168            }

169        }

170
171        
172    }

173
174    return 0;
175}
http://acm.pku.edu.cn/JudgeOnline/problem?id=3368

代碼惡心了。。。
posted on 2009-05-08 07:59 閱讀(162) 評論(0)  編輯 收藏 引用 所屬分類: 數(shù)據(jù)結(jié)構(gòu)
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲欧美日韩综合| 一区二区三区国产精华| 久久综合色8888| 亚洲精品日韩一| 久久久999精品| 国产欧美日韩精品一区| 亚洲综合色在线| 亚洲三级色网| 欧美一区二区私人影院日本| 国产精品日韩精品欧美精品| 亚洲一区二区三区三| 日韩视频免费大全中文字幕| 久久综合久久久| 国产视频一区在线| 香蕉国产精品偷在线观看不卡| 亚洲国产精品福利| 免费中文日韩| 亚洲精品国偷自产在线99热| 亚洲欧洲精品成人久久奇米网| 欧美成人一品| 99视频精品在线| 日韩一级黄色av| 国产精品v片在线观看不卡| 亚洲一区二区视频| 亚洲麻豆av| 国产精品久久九九| 欧美一级淫片aaaaaaa视频| 午夜精品久久久久久久白皮肤| 国产精品久久久对白| 欧美在线关看| 另类av一区二区| 日韩午夜在线播放| 99在线精品视频| 国产日韩欧美另类| 久久美女性网| 亚洲自拍偷拍麻豆| 久久一本综合频道| 亚洲精品裸体| av成人免费| 国产女主播一区二区三区| 性欧美videos另类喷潮| 香蕉尹人综合在线观看| 在线观看免费视频综合| 亚洲电影网站| 欧美性视频网站| 久久成人免费电影| 免费一级欧美在线大片| 99视频精品全部免费在线| 亚洲一区在线免费| 在线观看日韩av先锋影音电影院| 亚洲精品永久免费| 国产一区二区中文| 亚洲国产精品久久久久秋霞影院 | 亚洲精品黄色| 国产日产高清欧美一区二区三区| 免费的成人av| 欧美视频一区在线| 久久久夜精品| 欧美视频中文字幕在线| 快播亚洲色图| 欧美日韩免费观看一区二区三区| 久久成年人视频| 欧美视频网址| 亚洲黄色av| 好看的av在线不卡观看| 99日韩精品| 亚洲国产日韩在线| 午夜视黄欧洲亚洲| 亚洲先锋成人| 欧美激情1区2区3区| 久久久青草青青国产亚洲免观| 欧美激情一区二区三区四区| 久久精品一区二区三区不卡| 欧美性色综合| 妖精视频成人观看www| 亚洲二区在线视频| 欧美一区二区三区免费视频| 中文日韩在线| 欧美国产另类| 欧美韩日亚洲| 亚洲国产美女久久久久| 久久久久国内| 久久综合九色综合欧美就去吻| 国产精品视频一区二区三区| 亚洲最黄网站| 亚洲精品字幕| 欧美电影在线观看完整版| 模特精品裸拍一区| 狠狠色丁香婷婷综合| 亚洲午夜视频在线| 亚洲欧美国产三级| 欧美日韩在线视频一区| 在线亚洲激情| 亚洲免费视频一区二区| 欧美成人午夜77777| 免费观看成人| 91久久久在线| 欧美激情精品久久久六区热门 | 亚洲福利视频一区| 亚洲人成7777| 欧美 日韩 国产精品免费观看| 免费观看欧美在线视频的网站| 精品成人在线| 久久伊人一区二区| 欧美成人免费在线视频| 亚洲电影专区| 欧美日韩hd| 亚洲欧美国产毛片在线| 欧美在线高清| 亚洲福利免费| 欧美精品一区二区三区久久久竹菊| 亚洲级视频在线观看免费1级| 日韩一级成人av| 欧美日韩国产一区二区三区| 中文网丁香综合网| 欧美精品在线观看一区二区| 在线成人激情视频| 久久久久亚洲综合| 玖玖玖国产精品| 欧美激情精品久久久久久免费印度 | 国产精品v片在线观看不卡| 欧美不卡在线| 国产在线观看一区| 亚洲一区二区三区在线视频| 亚洲毛片一区| 久久久精品五月天| 久久国产精品第一页| 欧美精品激情在线| 免费亚洲网站| 亚洲高清二区| 久久综合久色欧美综合狠狠| 欧美尤物巨大精品爽| 国产精品免费网站在线观看| 日韩亚洲一区二区| 99国产精品| 欧美激情亚洲自拍| 亚洲国产精品va| 亚洲激情网站免费观看| 久久久久久久波多野高潮日日| 欧美一区二区三区久久精品 | 一区二区三区在线视频观看 | 欧美+亚洲+精品+三区| 久久婷婷激情| 影院欧美亚洲| 久久亚洲综合色| 亚洲国产精品成人久久综合一区| 亚洲老司机av| 欧美视频在线观看免费| 国产精品99久久久久久宅男 | 性欧美videos另类喷潮| 久久久精品日韩| 精品不卡视频| 欧美黄色免费网站| 一本大道久久a久久综合婷婷 | 亚洲毛片视频| 亚洲一区二区精品在线观看| 国产精品久久久一本精品| 亚洲精品一区二区在线观看| 亚洲三级视频在线观看| 欧美日韩一区二区在线| 亚洲自拍三区| 麻豆9191精品国产| 亚洲高清精品中出| 欧美激情第4页| 亚洲淫性视频| 久久免费观看视频| 日韩视频免费观看| 欧美性做爰猛烈叫床潮| 性色av香蕉一区二区| 欧美成人精品影院| 99视频一区二区| 国产精品影音先锋| 久久午夜视频| 亚洲美女精品成人在线视频| 久久精品在线免费观看| 亚洲日本激情| 国产日韩在线一区二区三区| 久久久xxx| 在线综合+亚洲+欧美中文字幕| 久久这里有精品15一区二区三区 | 久久亚洲春色中文字幕| 亚洲人www| 国模私拍视频一区| 欧美日韩另类字幕中文| 久久久久久91香蕉国产| 一本色道综合亚洲| 免费在线亚洲欧美| 欧美在线综合视频| 亚洲乱码国产乱码精品精天堂| 国产精品一区二区男女羞羞无遮挡| 久久野战av| 久久爱91午夜羞羞| 在线亚洲一区二区| 亚洲黄色片网站| 美玉足脚交一区二区三区图片| 亚洲一区二区免费看| 一区二区三区视频在线播放| 亚洲国产精品久久久久秋霞影院| 国产精品免费网站| 欧美日韩精品免费|