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

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)  編輯 收藏 引用 所屬分類: 數據結構

<2013年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

導航

統計

公告

常用鏈接

留言簿(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精品久久久| 欧美日韩国产综合网| 久久婷婷国产综合国色天香| 欧美一级大片在线免费观看| 中文在线资源观看网站视频免费不卡| 18成人免费观看视频| 亚洲激情一区二区| 国产日韩在线一区二区三区| 国产精品高精视频免费| 欧美三级在线视频| 国产精品国内视频| 国产亚洲激情| 亚洲国产精品成人久久综合一区| 最新亚洲电影| 亚洲一区二区三区在线| 欧美在线影院| 欧美韩日高清| 亚洲四色影视在线观看| 欧美一区国产一区| 欧美成人一区二区在线| 午夜欧美理论片| 亚洲欧美日韩网| 美女主播视频一区| 国产精品国产一区二区| 国产一区二区三区不卡在线观看| 精品成人一区二区| 99re6这里只有精品视频在线观看| 亚洲影视在线| 欧美国产成人在线| 亚洲欧美不卡| 欧美高清视频免费观看| 国产精品丝袜久久久久久app| 一色屋精品亚洲香蕉网站| 在线中文字幕一区| 六月婷婷一区| 亚洲一区二区三区视频| 欧美不卡在线| 黄色亚洲精品| 欧美一级一区| aa成人免费视频| 麻豆精品精华液| 国产精品免费一区二区三区在线观看 | 久久人人97超碰精品888 | 国产丝袜一区二区三区| 亚洲国产天堂久久综合网| 欧美在线亚洲| 一本久久综合| 欧美人妖在线观看| 亚洲精美视频| 欧美成人午夜剧场免费观看| 欧美一区二区三区视频免费播放| 亚洲精品久久7777| 欧美四级电影网站| 亚洲精品久久久久| 欧美风情在线观看| 久久久蜜桃一区二区人| 国产又爽又黄的激情精品视频| 性色av一区二区三区| 一本色道久久88综合日韩精品| 欧美在线视频在线播放完整版免费观看 | 亚洲女人小视频在线观看| 狂野欧美激情性xxxx欧美| 国产视频久久久久久久| 欧美一区二区视频97| 亚洲自拍偷拍视频| 国产人成精品一区二区三| 香蕉尹人综合在线观看| 亚洲自拍偷拍麻豆| 国产日韩精品久久| 久久久夜夜夜| 亚洲一区二区三区免费观看 | 亚洲欧美激情四射在线日 | 亚洲视频精品在线| 欧美视频一区二区三区四区| 日韩天堂av| 99re亚洲国产精品| 国产精品自拍一区| 久久综合色婷婷| 欧美ed2k| 亚洲剧情一区二区| 久久国产精品久久精品国产| 欧美一级二级三级蜜桃| 国产综合色在线视频区| 美女福利精品视频| 欧美精品电影在线| 午夜精品亚洲| 久久夜色撩人精品| 亚洲精品美女在线观看播放| 日韩一级免费观看| 国产亚洲精品资源在线26u| 女主播福利一区| 欧美日韩在线播放一区| 欧美在线一二三| 欧美成人精品福利| 午夜精品久久一牛影视| 久久经典综合| 一区二区三区www| 欧美一级艳片视频免费观看| 亚洲国产合集| 亚洲一区在线免费| 亚洲精品综合久久中文字幕| 午夜一区二区三视频在线观看| 1769国内精品视频在线播放| 在线亚洲观看| 91久久国产自产拍夜夜嗨| 一区二区三区国产盗摄| 在线观看欧美日韩国产| 一区二区三区产品免费精品久久75 | 亚洲成人在线| 亚洲美女中出| 在线观看成人一级片| 99视频有精品| 亚洲激情偷拍| 久久av在线| 亚洲一区视频| 欧美黄免费看| 免费日韩av电影| 国产精品毛片一区二区三区| 亚洲区国产区| 免费的成人av| 久久免费视频在线观看| 国产精品扒开腿做爽爽爽视频| 欧美激情精品久久久久久大尺度| 国产欧美日韩精品专区| 日韩亚洲在线| 日韩视频三区| 欧美a级一区| 亚洲第一天堂av| 亚洲福利视频在线| 久久久久欧美精品| 久久综合九色九九| 国产亚洲欧美aaaa| 午夜免费久久久久| 亚洲欧美精品一区| 欧美日本国产| 欧美成人免费小视频| 激情欧美一区二区三区| 欧美在线你懂的| 久久久免费观看视频| 好吊色欧美一区二区三区四区 | 可以免费看不卡的av网站| 久久激情视频| 国产一区二区三区直播精品电影 | 欧美日韩福利视频| 亚洲蜜桃精久久久久久久| 亚洲毛片在线看| 欧美日韩成人在线| 一区二区日韩免费看| 亚洲一区在线免费| 国产精品久久久久久久久久三级| 亚洲精品久久久久久下一站| 99pao成人国产永久免费视频| 欧美国产国产综合| 亚洲人精品午夜| 一区二区三区 在线观看视| 亚洲黄色影片| 欧美承认网站| 亚洲精品一品区二品区三品区| 欧美激情第1页| 日韩午夜在线视频| 午夜国产不卡在线观看视频| 国产日韩久久| 久久最新视频| 亚洲精品欧美日韩| 性欧美精品高清| 一区二区三区我不卡| 欧美一区二区三区免费大片| 欧美激情自拍| 国产精品一区二区女厕厕| 亚洲丰满少妇videoshd| 午夜在线观看欧美| 欧美国产亚洲精品久久久8v| 亚洲激情小视频| 欧美天堂亚洲电影院在线观看| 午夜精品国产更新| 欧美高清不卡| 性xx色xx综合久久久xx| 亚洲国产精品传媒在线观看| 欧美手机在线视频| 久久久欧美精品| 一区二区三区欧美日韩| 久久五月天婷婷| 一本色道综合亚洲| 黄色成人免费网站| 欧美性猛交xxxx乱大交退制版 | 国内一区二区三区| 欧美人体xx| 久久夜色精品亚洲噜噜国产mv | 欧美国产精品久久| 久久国产精品一区二区| 一本大道久久精品懂色aⅴ| 久久亚洲影院| 亚洲欧美日韩在线一区| 亚洲国产高清视频| 狠狠久久婷婷| 国产精品男人爽免费视频1| 欧美精品二区| 欧美成人中文| 免费在线日韩av| 久久久免费精品|