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

hdu 3627 Giant For

   這個題是對可排序數據的實時增加刪除查找,那天做比賽的時候一點都不會,想來想去覺得平衡樹可以做,但是寫平衡樹是件很難的事情。
后面知道線段數可以做,雖然數據的范圍很大,但是可以在全部讀入數據后排序再離散化,然后進行線段樹的操作,具體的代碼沒有寫。
   今天隊友在網上發現一種用map和set可以水掉這題的方法。原來,這個方法最主要的使用了map和set里面的upper_bound操作,以前
居然忘記了這個東西了。既然這樣,map和set也可以查前驅和后繼了,但是注意low_bound查到的是小于等于的鍵。這個代碼,注意是用
了一個map< int, set<int> > 集合把坐標都存起來了,進行添加刪除和查找后繼的操作。由于查找需要查找的元素是既比x大又比y大的元
素,就比較麻煩,需要循環x往后查找,但是這樣就無情的超時了。然后,有一個優化,記錄y的數目,那么當出現很大的y的時候,就不需要
查找了,然后才過了這個題。但是,數據變成很大的y對應的x很小的話,那么絕對過不了這個題了,只能用線段樹做了。
   現在覺得用map和set查找前驅和后繼確實能水掉一些題啊。

   代碼如下:
#include <map>
#include <set>
#include <stdio.h>
using namespace std;

map< intset<int> > ms;//存儲x,y
map< intset<int> >::iterator it;
map<intint> my;//存儲y的數目
set<int>::iterator msit;
int main()
{
    int nN;
    int nCase = 1;
    char szCmd[10];
    int nX, nY;
    int nTemp;

    while(scanf("%d", &nN), nN)
    {
        if (nCase > 1)
        {
            printf("\n");
        }
        
        printf("Case %d:\n", nCase++);
        ms.clear();
        my.clear();
        while (nN--)
        {
            scanf("%s", szCmd);
            scanf("%d%d", &nX, &nY);
            if (szCmd[0] == 'a')
            {
                if (my.find(nY) == my.end())
                {
                    my[nY] = 1;
                }
                else
                {
                    my[nY]++;
                }
                
                if (ms.find(nX) == ms.end())
                {
                    ms[nX].insert(nY);
                }
                else
                {
                    msit = ms[nX].find(nY);
                    if (msit == ms[nX].end())//會出現重復的數據
                    {
                        ms[nX].insert(nY);
                    }
                }
            }
            else if (szCmd[0] == 'r')
            {
                ms[nX].erase(nY);
                if(ms[nX].size() == 0)
                {
                    ms.erase(nX);
                }
                my[nY]--;
                if (my[nY] == 0)
                {
                    my.erase(nY);
                }
            }
            else if (szCmd[0] == 'f')
            {
                if (my.upper_bound(nY) == my.end())
                {
                    printf("-1\n");
                    continue;
                }
                while (true)
                {
                    it = ms.upper_bound(nX);
                    if (it == ms.end())//比nX大的不存在
                    {
                        printf("-1\n");
                        break;
                    }
                    nTemp = it->first;
                    msit = ms[nTemp].upper_bound(nY);
                    if (msit == ms[nTemp].end())//比nY大的不存在
                    {
                        nX = nTemp;
                        continue;//那么增加x,繼續往后查
                    }
                    else
                    {
                        printf("%d %d\n", nTemp, *msit);
                        break;
                    }
                }
            }
        }
    }

    return 0;
}

posted on 2012-07-26 12:22 yx 閱讀(902) 評論(0)  編輯 收藏 引用 所屬分類: 數據結構

<2012年7月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

導航

統計

公告

常用鏈接

留言簿(3)

隨筆分類

隨筆檔案

me

好友

同學

網友

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲影院色无极综合| 国产亚洲成精品久久| 亚洲黑丝在线| 免费亚洲一区二区| 欧美一区国产二区| 亚洲卡通欧美制服中文| 在线精品视频一区二区三四| 国产偷久久久精品专区| 国产最新精品精品你懂的| 好吊妞**欧美| 国产区二精品视| 欧美一级二区| 欧美自拍丝袜亚洲| 亚洲韩国青草视频| 欧美激情一区二区三区在线视频观看| 欧美一区影院| 久久青草久久| avtt综合网| 久久久之久亚州精品露出| 久久精品噜噜噜成人av农村| 蜜桃av一区二区三区| 欧美体内谢she精2性欧美| 国产视频在线一区二区| 亚洲日韩成人| 久久久久国色av免费观看性色| 欧美成人亚洲成人| 亚洲欧美另类综合偷拍| 欧美巨乳在线观看| 伊人久久婷婷| 欧美在线视频二区| 一本色道久久88精品综合| 久久爱91午夜羞羞| 国产精品久久久久久福利一牛影视| 在线日韩中文字幕| 久久久久高清| 亚洲无亚洲人成网站77777| 欧美成人第一页| 亚洲黄色三级| 91久久线看在观草草青青| 久久亚洲综合网| 亚洲福利视频二区| 欧美激情精品久久久久久大尺度| 欧美影院成年免费版| 精品二区视频| 国产精品一区二区三区四区五区| 亚洲一级片在线观看| 在线视频精品一区| 国产精品一区二区你懂得| 校园春色综合网| 久久久www成人免费毛片麻豆| 国产综合av| 亚洲国内自拍| 国产精品永久入口久久久| 久久久久久久性| 麻豆国产精品777777在线| 亚洲免费电影在线观看| 亚洲免费观看高清完整版在线观看熊 | 欧美视频精品在线| 久久av在线| 欧美日韩精品免费看| 久久在线91| 国产日韩亚洲| 在线一区二区三区四区| 在线免费观看一区二区三区| 亚洲一区二区免费| 在线一区观看| 欧美成人午夜激情| 欧美韩日视频| 亚洲人体1000| 久久成人免费网| 欧美一区二区在线| 国产精品白丝黑袜喷水久久久| 免费在线观看一区二区| 国产一区二区三区奇米久涩| 99热在这里有精品免费| 免费视频久久| 噜噜噜91成人网| 一区二区在线不卡| 久久久久久亚洲精品杨幂换脸 | 国产综合欧美| 欧美一区午夜精品| 久久精品首页| 亚洲成在人线av| 欧美激情中文字幕在线| 这里只有精品丝袜| 午夜免费电影一区在线观看| 国产精品五区| 久久久久欧美| 亚洲免费高清视频| 午夜亚洲影视| 亚洲国产经典视频| 欧美片第一页| 午夜激情一区| 亚洲美女黄色片| 久久精品日产第一区二区三区| 黄色亚洲大片免费在线观看| 欧美成人亚洲| 久久精品亚洲| 在线综合欧美| 亚洲欧洲三级| 麻豆精品在线视频| 亚洲一区二区三区色| 亚洲高清资源| 国内精品伊人久久久久av影院| 欧美日韩国产黄| 久久久久一区| 欧美专区在线播放| 午夜亚洲视频| 99精品久久免费看蜜臀剧情介绍| 久久久91精品国产| 久久精品国产清自在天天线| 一区二区三区鲁丝不卡| 久久精品女人天堂| 欧美一区二区三区在线观看| 亚洲少妇自拍| 亚洲欧美国产另类| 午夜精品一区二区三区在线播放| 一区二区欧美国产| 午夜精品久久久久久久久久久久久| 亚洲麻豆一区| 一区二区三区视频观看| 中国成人亚色综合网站| 亚洲欧美日本精品| 亚洲免费婷婷| 久久久午夜精品| 欧美gay视频激情| 欧美日韩亚洲综合| 国产欧美一区视频| 亚洲激情自拍| 亚洲天堂av在线免费| 久久国产精品亚洲77777| 久久综合成人精品亚洲另类欧美 | 好男人免费精品视频| 99视频精品全部免费在线| 欧美一级视频| 99热免费精品在线观看| 久久精品国产99| 国产精品美女在线| 夜夜爽www精品| 久久色在线播放| 国产精品99久久久久久有的能看 | 久久久精品视频成人| 欧美 日韩 国产 一区| 国产精品影片在线观看| 一本色道久久加勒比精品| 久久久亚洲国产天美传媒修理工 | 久久精品国产视频| 99精品欧美一区二区三区| 久久亚洲国产成人| 国产亚洲综合在线| 欧美亚洲一区二区在线| 一本大道久久a久久精二百| 欧美精品粉嫩高潮一区二区 | 性色一区二区三区| 亚洲毛片网站| 欧美日韩直播| 中国亚洲黄色| 一区二区三区蜜桃网| 欧美日韩1区2区| 亚洲一区二区三区777| 一本到12不卡视频在线dvd| 欧美三级视频在线| 欧美专区亚洲专区| 久久综合狠狠综合久久综合88| 国外成人性视频| 亚洲国产精品视频| 欧美先锋影音| 欧美成人中文| 欧美日韩免费网站| 久久久xxx| 欧美久久九九| 久久久久久久久伊人| 欧美精品一区在线| 久久性色av| 国产精品日韩高清| 亚洲国产另类久久久精品极度| 欧美日韩亚洲另类| 欧美激情中文字幕在线| 国产欧美日韩在线视频| 亚洲日本中文字幕免费在线不卡| 国产女人aaa级久久久级| 亚洲精品欧美| 国产在线视频欧美| 亚洲欧美变态国产另类| 一本综合久久| 欧美日韩国产精品 | 欧美一区二区三区电影在线观看| 亚洲电影观看| 久久久综合视频| 欧美成人免费观看| 在线观看欧美视频| 久久视频这里只有精品| 久久综合精品一区| 在线精品福利| 玖玖在线精品| 亚洲黄色免费网站| 99视频精品全国免费| 国产精品高潮呻吟久久| 亚洲视频一区| 久久久.com|