[NKU]sweet @ Google && TopCoder && CodeForces

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            33 Posts :: 1 Stories :: 15 Comments :: 0 Trackbacks
          傳送門:
          http://acm.timus.ru/problemset.aspx?space=1&tag=structure

          1028:經(jīng)典問題,先按x坐標第一關(guān)鍵字,y坐標第二關(guān)鍵字排序,然后線段樹/樹狀數(shù)組/平衡樹都行
          1037:優(yōu)先隊列維護靠前的空間,單調(diào)隊列維護刪除
          1067:改造版Trie+DFS
          1090:經(jīng)典逆序?qū)栴},樹狀數(shù)組/線段樹/歸并排序
          1100:惟一的玄機就是stable_sort
          1126:固定的一個序列里面RMQ,S-T/優(yōu)先隊列/線段樹……
          1220:貌似簡單的問題,1000個棧,操作100000次就是push和pop,
          很容易想到的裸做法是:int data[100000] 表示每個數(shù)據(jù),int fa[100000]表示每點在棧里的父親,int top[1000]表示1000個棧頂坐標
          但是內(nèi)存卡的很死很死,開200000個int是超的……
          鑒于fa里的數(shù)據(jù)大小<=100000<17Bit,int的前15個Bit實際上浪費了,壓縮一下,將100000個int壓成了100000*17/32=52000個大概,過了
          1316:BST里插入刪除Rank
          1350:純水
          1439:初始一個集合1000000000個數(shù),10000個操作:刪除和查詢第k大,由于操作不多,反其道而行之,用BST存儲刪除的值,查詢第k大時應(yīng)用二分+BST的rank
          1470:三維樹狀數(shù)組
          1471:樹上兩點間距離,DFS+LCA
          1494:沒讀懂,上網(wǎng)查的,原來是判斷一個序列能否由一個棧以及12345.....n的序列生成……直接搞
          1521:Joesph問題,可線段樹解決(忘了數(shù)學(xué)方法了)
          1523:K-逆序?qū)栴},按照他的定義,重復(fù)使用經(jīng)典逆序?qū)λ惴ň托?br /> 1613:給你一個序列以及若干查詢,問某數(shù)是否在區(qū)間【L,R】間出現(xiàn)過
          STL的應(yīng)用:map<int,set<int> >,對每個數(shù)維護一個出現(xiàn)集合,然后對每個查找,如果該數(shù)不在Map里,肯定沒有,如果在的話,在set里進行l(wèi)ower_bound,查找出現(xiàn)集合和區(qū)間【L,R】有沒有交
          想法其實沒錯,但是TLE了,后觀察到這東西本來插入時是1~N走的,本來就有單調(diào)性,不用Set,用vector就行,改后AC
          1628:30000*30000的地圖里,分布著60000個黑點,求空白線段數(shù)量,vector+二分,注意題意:答案為1*L和L*1(L>=2)的塊數(shù)+1*1的塊數(shù)
          1671:給出一個圖,給出一系列邊,按順序拆掉,問每拆掉一個邊后圖里有幾個聯(lián)通塊
          逆向思考,用并查集維護,把沒拆的邊先加入圖里,然后倒著來,一一加上邊,維護聯(lián)通塊個數(shù)


          Data Struct那個分類里的簡單題基本就完了,剩下的就得費些工夫了……
          posted on 2010-09-17 22:32 sweetsc 閱讀(553) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 关岭| 太康县| 彩票| 军事| 甘德县| 轮台县| 长宁县| 甘肃省| 敖汉旗| 灵川县| 新源县| 阳曲县| 樟树市| 醴陵市| 咸丰县| 沙坪坝区| 克东县| 鸡西市| 新余市| 丰都县| 慈溪市| 葫芦岛市| 博野县| 瓦房店市| 松原市| 咸阳市| 汕头市| 苏尼特右旗| 华蓥市| 吴川市| 武川县| 黑水县| 肇源县| 浦县| 内丘县| 于都县| 海原县| 怀安县| 盘山县| 霍林郭勒市| 泸州市|