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

gzwzm06

  C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
  1 隨筆 :: 52 文章 :: 17 評(píng)論 :: 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) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): 數(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>
            欧美激情在线狂野欧美精品| 欧美激情一区二区三区全黄| 欧美精品一区二区三区视频| 亚洲一区二区伦理| 亚洲欧洲精品一区二区精品久久久| 欧美一级淫片aaaaaaa视频| 国产精品一区二区三区免费观看 | 欧美在线地址| 亚洲一区二区三区久久| 9久re热视频在线精品| 欧美成人蜜桃| 免播放器亚洲| 欧美国产高潮xxxx1819| 久久综合五月| 欧美激情第三页| 欧美视频中文字幕| 国产精品swag| 欧美成人精品不卡视频在线观看 | 久久国产精品一区二区三区| 欧美在线视屏| 美女尤物久久精品| 免费久久精品视频| 亚洲国产经典视频| 99国产精品久久久久久久成人热 | 欧美一区二区视频97| 国产网站欧美日韩免费精品在线观看 | 久久综合九色九九| 亚洲第一页中文字幕| 免费成人美女女| 日韩亚洲欧美在线观看| 久久久久久婷| 欧美国产日产韩国视频| 91久久国产自产拍夜夜嗨 | 亚洲精品国产品国语在线app | 国产亚洲午夜| 91久久久久久国产精品| 亚洲午夜免费福利视频| 久久国产精品久久久久久久久久 | 亚洲黄一区二区三区| 99国内精品久久| 亚洲影音一区| 蜜桃av综合| 一区二区电影免费观看| 久久精品国产亚洲高清剧情介绍 | 久久精品免费电影| 亚洲国产福利在线| 欧美亚洲一区二区三区| 美女视频黄免费的久久| 欧美午夜一区| 在线成人欧美| 欧美一区深夜视频| 亚洲人成毛片在线播放| 欧美一进一出视频| 欧美精品综合| 国产乱码精品一区二区三区忘忧草| 欧美日韩亚洲视频一区| 国内成+人亚洲+欧美+综合在线| 亚洲精品国产精品国自产在线| 午夜久久99| 日韩一级成人av| 欧美大片在线看| 狠狠色综合网站久久久久久久| 亚洲素人在线| 久久国产精品一区二区三区四区| 久久视频一区| 欧美在线一区二区| 国产欧美日韩一区二区三区在线观看| 99re6热只有精品免费观看 | 欧美亚州一区二区三区| 99国产精品久久久久久久久久| 狂野欧美激情性xxxx| 亚洲欧美成人网| 欧美天天在线| 永久久久久久| 免费看黄裸体一级大秀欧美| 欧美亚洲免费电影| 国产农村妇女精品一区二区| 一区二区欧美日韩视频| 亚洲激情第一区| 欧美呦呦网站| 欧美高清在线| 欧美不卡视频| 亚洲三级性片| 91久久精品国产91性色| 在线视频你懂得一区| 久久久久久久网| 樱桃成人精品视频在线播放| 久久久久久穴| 麻豆精品视频| 亚洲国产高清在线观看视频| 蜜乳av另类精品一区二区| 久久精品综合一区| 亚洲国产精选| 亚洲黄色在线| 久久噜噜亚洲综合| 欧美日韩xxxxx| 亚洲综合国产| 欧美一区二区三区精品| 一区二区在线看| 亚洲国产日韩综合一区| 欧美欧美天天天天操| 亚洲永久免费观看| 午夜精品一区二区三区四区| 国产亚洲欧洲一区高清在线观看| 美女主播一区| 久久久精品2019中文字幕神马| 在线观看不卡| 一本一本久久| 精品99一区二区| 亚洲激情视频在线播放| 国产精品实拍| 欧美成人精品在线观看| 欧美日韩国产91| 久久久久久久999| 免费不卡中文字幕视频| 日韩视频不卡| 亚洲无亚洲人成网站77777| 欧美日韩一区视频| 久久久水蜜桃| 欧美色视频在线| 久久躁日日躁aaaaxxxx| 欧美另类videos死尸| 久久精品国产2020观看福利| 亚洲男人的天堂在线观看| 在线免费日韩片| 在线亚洲国产精品网站| 亚洲高清自拍| 亚洲欧美日韩综合aⅴ视频| 国产精品毛片大码女人| 亚洲成色精品| 精品1区2区3区4区| 亚洲欧美日韩在线高清直播| 亚洲伦理久久| 久久国产精品电影| 性高湖久久久久久久久| 欧美激情在线免费观看| 久久综合色播五月| 免费欧美视频| 亚洲国产1区| 久久久久www| 久久高清国产| 国产精品久久久久秋霞鲁丝| 欧美永久精品| 欧美精品久久久久久久| 久久乐国产精品| 欧美黄色aa电影| 欧美阿v一级看视频| 亚洲电影免费观看高清完整版在线 | 玖玖玖免费嫩草在线影院一区| 久久久综合精品| 亚洲国产另类久久久精品极度| 久久免费视频在线观看| 欧美国产一区视频在线观看 | 国产精品久久久久久模特 | 欧美国产日本高清在线| 亚洲国产高清一区二区三区| 亚洲二区在线| 欧美高清成人| 亚洲私人影院| 久久综合久色欧美综合狠狠| 亚洲第一毛片| 欧美体内谢she精2性欧美| 亚洲欧美国产高清va在线播| 欧美在线影院在线视频| 樱桃视频在线观看一区| 欧美激情在线播放| 午夜在线电影亚洲一区| 久久久久久夜精品精品免费| 怡红院精品视频| 欧美伦理一区二区| 亚洲欧美资源在线| 欧美激情视频网站| 亚洲综合三区| 亚洲国产精品久久| 欧美视频在线观看视频极品| 亚久久调教视频| 亚洲人成网站影音先锋播放| 午夜在线精品| 亚洲美女黄色片| 国产一区二区三区日韩| 麻豆成人在线| 一区二区精品| 欧美激情一区二区在线| 久久成人精品电影| 亚洲视频一区二区在线观看| 国产欧美一区二区精品婷婷 | 久久久久久久综合日本| 99精品国产99久久久久久福利| 久久综合九色综合久99| 一区二区高清| 影音先锋中文字幕一区| 国产日韩欧美成人| 欧美吻胸吃奶大尺度电影| 免费欧美日韩国产三级电影| 欧美在线一区二区| 午夜精品国产| 亚洲一区二区三区涩| 亚洲麻豆国产自偷在线| 欧美xxx成人| 免费久久精品视频|