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

隨筆 - 97, 文章 - 22, 評論 - 81, 引用 - 0
數據加載中……

PKU 2528 Mayor's posters

題目鏈接:http://poj.org/problem?id=2528

/*
題意:
    給定N(N <= 10000)塊木板,依次層疊,問最后能從上方俯視的木板的數量。


解法:
線段樹(染色問題)

思路:
    這題是pku 2777的簡化版,木板的數量最多10000種,每個結點都保存下來
似乎有點力不從心,但是因為插入是多次,而詢問只有一次,所以我們只要保證
插入是O(logn)的,而詢問可以O(n),這樣問題就變得簡單許多,線段樹結點保存
一個Cover域,初始化為0,表示是0號木板(輸入數據的木板編號從1開始),每
次插入時只更新到完全覆蓋的區間,如果當前結點的左右兒子的木板顏色不同,
那么它的Cover域就是-1,否則是木板的下標。詢問的時候如果遇到Cover域為-1
的結點則遞歸它的子結點,否則統計。
*/


#include 
<iostream>
#include 
<algorithm>
using namespace std;

#define maxn 100010

int tmp[maxn], tmpsize;
int bin[maxn], size;

struct Interval {
    
int l, r;
}
I[maxn];

struct Tree {
    
int nCover;
    
int son[2];

    
void clear() {
        son[
0= son[1= -1;
        nCover 
= 0;
    }

}
T[ maxn*4 ];
int root, tot = 0;

int GetId(int& root) {
    
if(root == -1{
        root 
= tot++;
        T[root].clear();
    }

    
return root;
}


void Discretization() {
    sort(tmp, tmp 
+ tmpsize);
    bin[ size 
= 1 ] = tmp[0];
    
int i;
    
for(i = 1; i < tmpsize; i++{
        
if(tmp[i] != tmp[i-1])
            bin[ 
++size ] = tmp[i];
    }

}


int Binary(int v) {
    
int l = 1;
    
int r = size;
    
while(l <= r) {
        
int m = (l + r) >> 1;
        
if(bin[m] == v)
            
return m;
        
if(v > bin[m]) {
            l 
= m + 1;
        }
else
            r 
= m - 1;
    }

}


int hash[ maxn ], Case;

void Insert(int& root, int nl, int nr, int l, int r, int val) {
    
if(nl > r || nr < l)
        
return ;

    GetId(root);
    
if(nl <= l && r <= nr) {
        T[root].nCover 
= val;
        
return ;
    }


    
if(T[root].nCover != -1{
        
int i;
        
for(i = 0; i < 2; i++{
            
int idx = GetId(T[root].son[i]);
            T[idx].nCover 
= T[root].nCover;
        }

        T[root].nCover 
= -1;
    }


    
int mid = (l + r) >> 1;
    Insert(T[root].son[
0], nl, nr, l, mid, val);
    Insert(T[root].son[
1], nl, nr, mid+1, r, val);
}


void Query(int root, int l, int r) {
    
if(root == -1)
        
return ;
    
if(T[root].nCover != -1{
        hash[ T[root].nCover ] 
= Case;
        
return ;
    }

    
int mid = (l + r) >> 1;
    Query(T[root].son[
0], l, mid);
    Query(T[root].son[
1], mid+1, r);
}


int main() {
    
int t, i;
    
int n;
    scanf(
"%d"&t);
    
while(t--{
        Case 
++;
        tmpsize 
= 0;
        scanf(
"%d"&n);
        
for(i = 0; i < n; i++{
            scanf(
"%d %d"&I[i].l, &I[i].r);
            tmp[ tmpsize 
++ ] = I[i].l;
            tmp[ tmpsize 
++ ] = I[i].r;
        }

        Discretization();
        root 
= -1;
        tot  
= 0;
        
for(i = 0; i < n; i++{
            I[i].l 
= Binary(I[i].l);
            I[i].r 
= Binary(I[i].r);
            
//printf("<%d %d>\n", I[i].l, I[i].r);
            Insert(root, I[i].l, I[i].r, 1, size, i+1);
        }

        
int nCount = 0;
        Query(root, 
1, size);
        
for(i = 1; i <= size; i++{
            
if(hash[i] == Case)
                nCount 
++;
        }

        printf(
"%d\n", nCount);
    }

    
return 0;
}

posted on 2011-03-31 21:23 英雄哪里出來 閱讀(1211) 評論(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>
            亚洲伊人伊色伊影伊综合网| 欧美一区二区三区婷婷月色| 噜噜噜久久亚洲精品国产品小说| 亚洲综合色激情五月| 国产精品美腿一区在线看 | 欧美日韩精品| 亚洲视频你懂的| 中国成人黄色视屏| 国产精品日韩一区二区| 久久国产色av| 久久视频国产精品免费视频在线| 91久久国产精品91久久性色| 亚洲黄色成人| 欧美日韩免费视频| 欧美一区二区在线视频| 久久精品国产99精品国产亚洲性色| 在线日韩精品视频| 亚洲免费av电影| 国产一区二区成人| 亚洲国产精品美女| 国产精品一区二区久激情瑜伽| 久久久精品免费视频| 欧美jizz19hd性欧美| 亚洲综合首页| 久久久亚洲影院你懂的| 亚洲一区二区精品在线| 久久大逼视频| 亚洲亚洲精品三区日韩精品在线视频| 午夜日韩福利| 亚洲天堂第二页| 久久久久久综合网天天| 亚洲大片在线观看| 亚洲网站在线看| 国产毛片一区二区| 猛男gaygay欧美视频| 欧美另类69精品久久久久9999| 欧美一区网站| 欧美日韩国产在线看| 浪潮色综合久久天堂| 国产精品magnet| 欧美激情第9页| 国产一区二区三区日韩欧美| 亚洲综合色丁香婷婷六月图片| 国产精品女主播一区二区三区| 欧美激情麻豆| 国语自产偷拍精品视频偷| 亚洲精品一区二区在线| 伊人男人综合视频网| 亚洲制服少妇| 亚洲伊人观看| 欧美日韩国产bt| 亚洲国产aⅴ天堂久久| 国内精品国语自产拍在线观看| 亚洲视频欧美在线| 正在播放日韩| 欧美激情影院| 亚洲国产日韩在线| 亚洲国产精品电影| 久久亚洲图片| 男人插女人欧美| 伊人久久亚洲热| 久久久久成人精品| 久久深夜福利免费观看| 国产精品自在线| 亚洲一级特黄| 午夜在线精品| 国产欧美精品久久| 小黄鸭视频精品导航| 午夜精品国产更新| 国产伦精品一区二区| 亚洲欧美国产高清va在线播| 欧美一区二区视频网站| 国产欧美日韩视频一区二区三区 | 国产综合色产在线精品| 欧美一级日韩一级| 久久都是精品| 国内自拍视频一区二区三区| 久久久久久婷| 欧美黄色aaaa| 一本久久综合亚洲鲁鲁| 欧美日韩在线电影| 亚洲欧美日韩精品综合在线观看| 欧美亚洲在线播放| 激情久久久久久久久久久久久久久久| 久久久久久国产精品mv| 欧美成人精品一区二区| 日韩一级不卡| 国产日产亚洲精品| 美日韩精品视频免费看| 亚洲精品免费在线| 午夜激情一区| 在线观看亚洲| 欧美三级午夜理伦三级中文幕 | 欧美在线观看一区| 你懂的视频欧美| 中日韩男男gay无套| 国产亚洲午夜| 欧美国产日产韩国视频| 亚洲一区免费看| 欧美aa在线视频| 亚洲你懂的在线视频| 狠狠色狠狠色综合日日五| 欧美jizz19性欧美| 亚洲女同在线| 亚洲国产日韩欧美| 欧美一区二区免费观在线| 亚洲国产裸拍裸体视频在线观看乱了中文 | 在线日韩精品视频| 猛干欧美女孩| 在线一区欧美| 欧美va亚洲va日韩∨a综合色| 在线亚洲欧美视频| 狠狠色狠狠色综合人人| 欧美日韩你懂的| 久久经典综合| 亚洲视频精选| 欧美黑人一区二区三区| 欧美中文在线观看国产| 99国产精品自拍| 狠狠色狠狠色综合日日小说| 欧美色另类天堂2015| 久久综合伊人77777尤物| 亚洲伊人久久综合| 亚洲狠狠丁香婷婷综合久久久| 久久精品国产免费| 亚洲永久免费| 艳女tv在线观看国产一区| 激情懂色av一区av二区av| 欧美日韩综合网| 欧美国产三级| 免费观看成人| 久久免费精品视频| 午夜精品美女久久久久av福利| 日韩亚洲在线| 亚洲精品网站在线播放gif| 欧美va天堂在线| 裸体一区二区| 久久久亚洲人| 久久精品二区| 久久精品国产精品亚洲综合| 午夜精品一区二区三区在线视| 99精品欧美一区二区蜜桃免费| 亚洲国产欧美不卡在线观看 | 欧美女同视频| 欧美激情精品久久久久久黑人| 久久天天狠狠| 久久久久99| 久久免费99精品久久久久久| 欧美中文字幕在线观看| 欧美一区二区三区在线观看| 欧美一区二区啪啪| 欧美一区二区播放| 欧美有码视频| 久久精品视频在线观看| 久久久久.com| 欧美第十八页| 欧美日韩福利视频| 欧美色区777第一页| 国产精品a久久久久| 国产精品伦子伦免费视频| 国产精品久久久久久久久久免费看| 欧美天天影院| 国产欧美精品一区二区色综合| 国产婷婷97碰碰久久人人蜜臀| 国语自产在线不卡| 亚洲日本欧美| 亚洲欧美日韩国产综合在线| 久久爱另类一区二区小说| 麻豆成人91精品二区三区| 亚洲第一成人在线| 一区二区三区www| 欧美一区二区三区婷婷月色 | 欧美日本在线| 国产女主播视频一区二区| 伊人成人开心激情综合网| 亚洲日本中文字幕区| 亚洲欧美激情四射在线日 | 亚洲字幕在线观看| 欧美制服第一页| 欧美大片免费观看在线观看网站推荐 | 欧美国产一区二区在线观看| 91久久精品日日躁夜夜躁欧美| 一区二区三区久久| 久久久女女女女999久久| 欧美日韩精品在线| 激情丁香综合| 亚洲欧美日韩精品久久久久| 麻豆乱码国产一区二区三区| 99这里只有久久精品视频| 久久精品人人爽| 欧美性事免费在线观看| 在线观看欧美亚洲| 国产美女精品一区二区三区| 蜜桃精品一区二区三区| 国产精品国产自产拍高清av| 韩国v欧美v日本v亚洲v| 99www免费人成精品| 久久综合影音| 午夜免费电影一区在线观看| 欧美激情中文字幕在线|