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

gzwzm06

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  1 隨筆 :: 52 文章 :: 17 評論 :: 0 Trackbacks
  1#include <cstdio>
  2#include <memory.h>
  3#include <algorithm>
  4using namespace std ;
  5
  6const int MAXN = 41001 ;
  7const int SIZE = 10001 ;
  8
  9struct NODE
 10{
 11    int m_flag ;
 12    int m_start, m_end ;
 13    NODE *leftc , *rightc ;
 14    
 15    void BuildTree(const int& s, const int& e) ;
 16    void Insert(const int& s, const int& e, const int& k) ;
 17    void FindInTree() ;
 18}
 ;
 19
 20struct WALL
 21{
 22    int m_pos ;
 23    int m_value ;
 24
 25    bool const operator < ( WALL& b )const
 26    {
 27        if ( m_value < b.m_value )
 28            return true ;
 29        return false ;
 30    }

 31}
wall[SIZE * 2] ;
 32
 33NODE *root ;
 34NODE Stree[MAXN] ;
 35int g_Pos ;
 36int ans , arrSize ;
 37int gFlag[SIZE] ;
 38
 39void NODE::BuildTree(const int& s, const int& e)
 40{
 41    m_flag = 0 ;
 42    m_start = s, m_end = e ;
 43    if ( e == s )
 44    {
 45        leftc = rightc = NULL ;
 46        return ;
 47    }

 48    
 49    int mid = ( s + e ) >> 1 ;
 50    
 51    leftc = &Stree[g_Pos++] ;
 52    rightc = &Stree[g_Pos++] ;
 53    
 54    leftc->BuildTree(s, mid) ;
 55    rightc->BuildTree(mid + 1, e) ;    
 56    
 57}

 58
 59void NODE::Insert(const int& s, const int& e, const int& k)
 60{
 61    if ( m_start == m_end )
 62    {
 63        m_flag = k ;
 64        return ;
 65    }

 66    if ( m_start == s && m_end == e )
 67    {
 68        m_flag = k ;
 69        return ;
 70    }
    
 71    if ( m_flag > 0 ){
 72        rightc->m_flag = m_flag ;
 73        leftc->m_flag = m_flag ;
 74        m_flag = -1 ;
 75    }

 76    else if ( m_flag == 0 )
 77        m_flag = k ;
 78    
 79    int mid = ( m_start + m_end ) >> 1 ;
 80    
 81    if ( mid >= e )
 82    {
 83        leftc->Insert( s, e, k ) ;
 84    }

 85    else if ( mid < s ) //就這里,寫多了一個等號,導致WA十幾次
 86    {
 87        rightc->Insert( s, e, k ) ;
 88    }

 89    else {
 90        leftc->Insert( s, mid, k ) ;
 91        rightc->Insert( mid + 1, e, k ) ;
 92    }

 93}

 94
 95void NODE::FindInTree()
 96{
 97    if ( m_flag >= 0  )
 98    {
 99        if ( gFlag[m_flag] == 0 )
100        {
101            gFlag[m_flag] = 1 ;
102            ans++ ;
103        }

104        return ; //不需要訪問到葉節點
105    }

106    
107    if ( m_flag == -1 )
108    {
109        leftc->FindInTree() ;
110        rightc->FindInTree() ;
111    }

112    
113}

114
115void Init()
116{
117    ans = 0 ;
118    g_Pos = 1 ;
119    root = &Stree[0] ;
120    
121    root->leftc = root->rightc = NULL ;
122    memset(gFlag, 0sizeof(gFlag)) ;
123}

124int main()
125{
126//     freopen("in.txt", "r", stdin) ;
127    
128    int T , n , i , size , x , y ;
129    int pos[SIZE][2] ;
130    scanf("%d"&T) ;
131    
132    while ( T-- )
133    {
134        Init() ;
135        size = 0 ;
136        
137        scanf("%d"&n) ;
138        
139        for ( i = 1 ; i <= n ; ++i )
140        {
141            scanf("%d %d"&pos[i][0], &pos[i][1]) ;
142            wall[size].m_pos = i ;
143            wall[size++].m_value = pos[i][0] ;
144            wall[size].m_pos = -i ;
145            wall[size++].m_value = pos[i][1] ;
146        }

147        //離散化
148        sort(wall, wall + size) ;
149        
150        x = 1 ;
151        if ( wall[0].m_pos < 0 )
152            pos[-wall[0].m_pos][1= 1 ;
153        else
154            pos[wall[0].m_pos][0= 1 ;
155        
156        for ( i = 1 ; i < size ; ++i )
157        {
158            if ( wall[i].m_value != wall[i - 1].m_value )
159            {
160                x++ ;
161            }

162            if ( wall[i].m_pos > 0 )
163                pos[wall[i].m_pos][0= x ;
164            else 
165                pos[-wall[i].m_pos][1= x ;
166            
167        }

168        
169        arrSize = x ;
170        //線段樹
171        root->BuildTree( 1, arrSize ) ;
172        
173        for ( i = 1 ; i <= n ; ++i )
174        {
175            x = pos[i][0] ;
176            y = pos[i][1] ;
177            root->Insert( x, y, i ) ;
178        }

179        
180        root->FindInTree() ;
181 
182        printf("%d\n", ans) ;
183    }

184    return 0 ;
185}

186
187
188
189
posted on 2008-11-16 20:58 閱讀(458) 評論(0)  編輯 收藏 引用 所屬分類: 數據結構
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美波霸影院| 麻豆国产精品777777在线| 久久国产精品毛片| 91久久在线| 国产私拍一区| 欧美精品18| 久热成人在线视频| 亚洲视频你懂的| 亚洲精品一区久久久久久| 久久久久99| 欧美一区二区三区在| 亚洲巨乳在线| 亚洲国产成人在线播放| 国产精品外国| 麻豆av一区二区三区久久| 亚洲摸下面视频| 性欧美18~19sex高清播放| 99精品欧美一区二区三区| 狠狠v欧美v日韩v亚洲ⅴ| 国产精品网站视频| 欧美日韩成人综合天天影院| 蜜桃av一区二区三区| 欧美在线观看视频一区二区| 亚洲女与黑人做爰| 91久久久亚洲精品| 欧美国产激情| 老色鬼精品视频在线观看播放| 亚洲中午字幕| 亚洲视频观看| 国产精品嫩草影院av蜜臀| 欧美激情视频网站| 乱码第一页成人| 麻豆成人在线| 久久一区国产| 免费观看一区| 久久亚洲综合色一区二区三区| 久久精品国产第一区二区三区最新章节| 国产精品99久久久久久久vr| 一本色道精品久久一区二区三区| 亚洲国产精品va在线看黑人| 亚洲国产网站| 亚洲高清av在线| 最新国产成人在线观看| 欧美激情一区二区三区| 亚洲国产小视频| 亚洲国产精品电影| 日韩视频在线观看| 亚洲精品资源| 一区二区日本视频| 亚洲图片激情小说| 欧美高清视频一区| 欧美激情亚洲国产| 久久野战av| 欧美激情一区二区三区全黄 | 在线观看视频一区二区| 国内精品国产成人| 在线观看欧美黄色| 国产综合自拍| 亚洲国产三级| 91久久精品日日躁夜夜躁欧美 | 欧美一乱一性一交一视频| 久久国产精品久久久| 久久免费高清视频| 久久久噜久噜久久综合| 免费日韩精品中文字幕视频在线| 久久人体大胆视频| 欧美日韩免费观看一区| 国产精品九九| 悠悠资源网久久精品| 亚洲国产一区二区视频| 99精品福利视频| 亚洲专区一二三| 久久成人综合视频| 免费影视亚洲| 日韩网站免费观看| 亚洲欧美在线免费| 久久一综合视频| 欧美日韩精品一区| 国产一区二区三区久久久| 在线观看日韩www视频免费| 在线一区二区三区四区| 香蕉视频成人在线观看| 欧美国产综合视频| 一区二区三区日韩欧美| 久久三级福利| 欧美日韩mv| 在线免费观看日本欧美| 99亚洲伊人久久精品影院红桃| 久久国产精品久久国产精品| 欧美激情亚洲另类| 欧美一区二区三区久久精品| 欧美成人免费在线| 国产婷婷色综合av蜜臀av| 亚洲国产一区二区三区高清| 亚洲欧美久久久| 欧美电影在线观看| 亚洲在线一区二区三区| 免费中文日韩| 国产麻豆成人精品| 亚洲手机视频| 美女诱惑一区| 欧美在线观看视频在线 | 亚洲欧美另类在线| 欧美a级一区二区| 篠田优中文在线播放第一区| 欧美激情精品久久久久久蜜臀| 国内精品视频在线观看| 中文精品一区二区三区| 欧美成在线观看| 亚洲一区二区三区色| 欧美黑人在线观看| 国内精品模特av私拍在线观看| 亚洲欧美国产不卡| 亚洲高清视频在线观看| 久久蜜桃av一区精品变态类天堂| 欧美日韩一区二区在线观看视频| 亚洲国产乱码最新视频| 亚洲欧美日韩网| 一区二区不卡在线视频 午夜欧美不卡'| 久久久蜜桃精品| 国模一区二区三区| 欧美一级欧美一级在线播放| 亚洲一区二区在线看| 欧美精品日韩| 一区二区久久| 玖玖综合伊人| 久久久久久97三级| 国产精品午夜电影| 欧美亚洲综合网| 一区二区三区鲁丝不卡| 欧美亚洲成人免费| 亚洲国产精品成人| 麻豆免费精品视频| 麻豆乱码国产一区二区三区| 欧美国产高潮xxxx1819| 亚洲视频在线观看免费| 亚洲一区二区少妇| 欧美高清视频| 亚洲国产婷婷香蕉久久久久久| 嫩草国产精品入口| 久久大香伊蕉在人线观看热2| 麻豆精品视频在线观看| 久久av二区| 一本一本a久久| 中国日韩欧美久久久久久久久| 国产一区二区看久久| 免费观看日韩| 国产精品初高中精品久久| 99视频在线精品国自产拍免费观看 | 日韩视频永久免费| 一区二区高清视频在线观看| 韩国三级电影一区二区| 亚洲第一综合天堂另类专| 国产精品私房写真福利视频| 麻豆精品视频在线观看视频| 国产精品成人一区二区三区吃奶| 久久久精品午夜少妇| 欧美日韩激情小视频| 欧美一级久久久久久久大片| 欧美成人国产va精品日本一级| 一区二区三区你懂的| 久久免费黄色| 亚洲欧美春色| 免费短视频成人日韩| 欧美一区激情| 欧美成人a∨高清免费观看| 久久av二区| 欧美精品一线| 麻豆精品视频在线| 国产精品h在线观看| 亚洲国产精品成人久久综合一区| 国产精品入口日韩视频大尺度| 亚洲二区在线视频| 国产精品久久久久久一区二区三区| 欧美成人一区二区在线| 国产亚洲二区| 亚洲精品乱码久久久久久黑人 | 欧美日韩中文精品| 免费成人小视频| 国产婷婷色综合av蜜臀av| 日韩视频一区二区| 日韩午夜在线电影| 久久精品一区二区国产| 欧美一区二区在线播放| 欧美另类综合| 亚洲国产精品女人久久久| 国产精品欧美激情| 一本一本久久a久久精品牛牛影视| 最近看过的日韩成人| 久久国产精品亚洲77777| 欧美一区二区三区播放老司机| 欧美日韩第一页| 亚洲精品1区| 在线免费一区三区| 久久久久久久久岛国免费| 性做久久久久久免费观看欧美| 国产精品成人观看视频国产奇米| 欧美波霸影院| 永久91嫩草亚洲精品人人| 久久国产毛片|