演算法複習 莫隊演算法(bzoj1878)

2022-05-23 13:24:16 字數 1526 閱讀 9294

hh有一串由各種漂亮的貝殼組成的項鍊。hh相信不同的貝殼會帶來好運,所以每次散步 完後,他都會隨意取出一

段貝殼,思考它們所表達的含義。hh不斷地收集新的貝殼,因此他的項鍊變得越來越長。有一天,他突然提出了一

個問題:某一段貝殼中,包含了多少種不同的貝殼?這個問題很難回答。。。因為項鍊實在是太長了。於是,他只

好求助睿智的你,來解決這個問題。

第一行:乙個整數n,表示項鍊的長度。 

第二行:n個整數,表示依次表示項鍊中貝殼的編號(編號為0到1000000之間的整數)。 

第三行:乙個整數m,表示hh詢問的個數。 

接下來m行:每行兩個整數,l和r(1 ≤ l ≤ r ≤ n),表示詢問的區間。

n ≤ 50000,m ≤ 200000。

m行,每行乙個整數,依次表示詢問對應的答案。

61 2 3 4 3 5

31 2

3 52 622

4day2

莫隊演算法模板題···也可以用分塊做···

先說說針對數字序列的莫隊吧···核心思想就是在題目允許詢問離線的情況下,先將序列分塊,然後將詢問排序····第一關鍵字是left的所在塊(越小越靠前)···第二關鍵字是right的大小(越小越靠前),然後建立tail和head指標,根據詢問移動tail和head的同時更改所維護的答案·····

演算法複習 帶修改莫隊 bzoj2453

你小時候玩過彈珠嗎?小朋友a有一些彈珠,a喜歡把它們排成佇列,從左到右編號為1到n。為了整個佇列鮮豔美觀,小朋友想知道某一段連續彈珠中,不同顏色的彈珠有多少。當然,a有時候會依據個人喜好,替換佇列中某個彈珠的顏色。但是a還沒有學過程式設計,且覺得頭腦風暴太浪費腦力了,所以向你來尋求幫助。輸入檔案第一...

BZOJ 3585 mex 莫隊演算法

離線處理,這題完全不用離散化直接無視 n的數就可以了 因為大於n的數對答案肯定沒有影響 與bzoj3339完全一樣 似有又水了一題 include include include include include include include include include include defi...

樹上莫隊演算法

繼續回來寫部落格 記錄點有意思的題目什麼的。貌似寫過這個的沒多少人 所以我也記錄一點。首先序列上的莫隊大家都應該很熟悉了 那麼樹上的莫隊要怎麼搞呢?先來看個題目 spoj cot2 求樹上兩點間路徑上有多少個不同的點權。序列上的莫隊是把詢問按照左端點分塊了 可是樹上沒有左端點,怎麼辦呢?我們把樹分塊...