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

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>
            韩国三级电影一区二区| 欧美亚洲一区| 久久成人资源| 亚洲专区免费| 中文精品视频| 亚洲在线观看视频| 午夜精品久久久久久99热| 欧美黄在线观看| 欧美成人午夜| 亚洲精品一区二区三区99| 99视频热这里只有精品免费| 中文在线一区| 久久久久久久91| 欧美精品久久99| 国产伦精品一区二区三区在线观看| 国产在线精品一区二区夜色| 影音先锋中文字幕一区| 亚洲精品美女免费| 欧美一区二区三区在线播放| 噜噜噜噜噜久久久久久91| 亚洲欧洲精品成人久久奇米网| 亚洲精品美女在线观看播放| 亚洲尤物在线| 欧美电影免费观看高清| 国产精品久久网站| 亚洲经典自拍| 久久精品国产69国产精品亚洲| 欧美黄色aaaa| 欧美一区二区网站| 欧美日韩人人澡狠狠躁视频| 精品av久久久久电影| 亚洲午夜久久久久久久久电影院| 久久嫩草精品久久久精品| 妖精视频成人观看www| 久久影院亚洲| 国产三级精品在线不卡| 中文有码久久| 亚洲高清中文字幕| 久久精品视频免费| 国产伦精品一区二区三区免费 | 久久人人看视频| 国产精品h在线观看| 亚洲人成免费| 久久综合九色综合欧美就去吻| 日韩视频免费大全中文字幕| 噜噜噜躁狠狠躁狠狠精品视频| 国产精品入口夜色视频大尺度 | 亚洲风情亚aⅴ在线发布| 亚洲在线免费| 国产精品99一区| 亚洲天堂av电影| 亚洲毛片av| 欧美日韩精品免费| 一区二区三区高清在线| 亚洲人成人一区二区三区| 欧美69视频| 亚洲精品视频在线观看网站 | 亚洲一级黄色| 欧美视频在线播放| 亚洲图中文字幕| 久久青草欧美一区二区三区| 99热这里只有成人精品国产| 老色鬼久久亚洲一区二区 | 欧美精品一区二区三区高清aⅴ| 在线观看欧美黄色| 欧美第十八页| 欧美激情日韩| 亚洲一区bb| 午夜精品一区二区三区电影天堂| 国产精品一区二区久久久| 欧美制服丝袜| 久久频这里精品99香蕉| 亚洲国产第一| 亚洲精品久久久久| 国产精品白丝黑袜喷水久久久 | 亚洲精品免费在线| 欧美精品入口| 亚洲自拍偷拍色片视频| 亚洲欧美视频在线观看视频| 国产一区二区日韩| 欧美国产精品va在线观看| 欧美激情小视频| 午夜视频在线观看一区二区三区| 亚洲欧美一区在线| 亚洲国产成人精品女人久久久 | 欧美成人亚洲成人| 一本色道久久综合亚洲精品高清 | 在线成人www免费观看视频| 欧美国产精品日韩| 欧美日韩一区二区在线观看视频| 亚洲欧美国产三级| 久久久青草婷婷精品综合日韩| 亚洲精一区二区三区| 亚洲性感美女99在线| 136国产福利精品导航网址应用 | 久久影院午夜论| 欧美激情综合五月色丁香小说| 亚洲欧美国产日韩天堂区| 久久婷婷蜜乳一本欲蜜臀| 亚洲欧美99| 免费亚洲一区二区| 久久久999精品免费| 欧美日韩精品综合| 免费在线看一区| 欧美性一区二区| 亚洲国产精品成人| 国产夜色精品一区二区av| 亚洲国产一二三| 国产亚洲欧美一区在线观看| 亚洲精品国产品国语在线app | 欧美高清影院| 国产精品乱码一区二三区小蝌蚪| 久久久精品一区二区三区| 欧美日韩免费观看一区| 久久影院午夜论| 国产日韩欧美一区| 亚洲伦理自拍| 日韩性生活视频| 久久视频一区二区| 欧美一级午夜免费电影| 欧美伦理影院| 亚洲国产一区二区a毛片| 一区久久精品| 欧美在线日韩| 久久精品女人| 国产色产综合色产在线视频| 亚洲图片在线| 欧美一级理论性理论a| 欧美图区在线视频| 一本不卡影院| 这里只有精品在线播放| 欧美日本一区二区高清播放视频| 亚洲电影在线| 日韩视频免费在线观看| 免费久久久一本精品久久区| 久久综合网色—综合色88| 国内精品久久久久影院色| 羞羞漫画18久久大片| 欧美一区永久视频免费观看| 国产精品永久免费观看| 亚洲欧美日本视频在线观看| 欧美一区二区啪啪| 国产婷婷成人久久av免费高清 | 亚洲国产欧美精品| 亚洲人成小说网站色在线| 欧美大片在线观看一区| 亚洲国产欧美不卡在线观看| a4yy欧美一区二区三区| 欧美日韩在线一区| 亚洲女同在线| 久久一本综合频道| **性色生活片久久毛片| 欧美国产激情| 一区二区久久| 久久久国产一区二区| 在线观看视频亚洲| 欧美大片在线观看一区二区| 一本一本久久a久久精品综合麻豆| 亚洲曰本av电影| 国内精品视频一区| 欧美国内亚洲| 亚洲欧美中文日韩在线| 欧美a级大片| 亚洲夜晚福利在线观看| 国产亚洲一级高清| 欧美国产日韩在线| 亚洲一二三四久久| 欧美a一区二区| 亚洲欧美伊人| 亚洲国产精品一区制服丝袜| 欧美人与性禽动交情品| 午夜精品久久久久| 亚洲国产精品传媒在线观看| 午夜精品久久久久99热蜜桃导演| 在线播放豆国产99亚洲| 欧美日韩黄视频| 欧美一区二区三区在线视频 | 欧美精品国产一区二区| 在线亚洲电影| 欧美激情亚洲| 久久九九热re6这里有精品| 99在线精品免费视频九九视| 国产一区二区三区视频在线观看| 欧美另类综合| 免费成人av在线看| 欧美一区二区成人| av不卡在线| 亚洲欧洲中文日韩久久av乱码| 欧美一区二区三区免费看 | 欧美高清不卡| 欧美伊人久久久久久午夜久久久久 | 老鸭窝亚洲一区二区三区| 一区二区三区.www| 国内精品模特av私拍在线观看| 欧美日韩综合不卡| 欧美黄网免费在线观看| 久久影院午夜片一区| 午夜久久久久久| 一区二区三区国产盗摄| 亚洲日本成人在线观看|