原文:胡小兔的良心莫隊教程:莫隊、帶修改莫隊、樹上莫隊

在開始學習莫隊之前,照例先甩一道例題:BZOJ HH的項鏈。 題意:求區間內數的個數,相同的數只算一次。 在我關於這道題的上一篇題解中,我使用了主席樹來在線做這道題 在洛谷的一道類似題中,我使用了分塊 而如果不要求在線,這道題還有一種極其好寫的方法 莫隊。 什么是莫隊 莫隊不是一種叫做莫的隊列 我第一次聽到這個名字時竟然是這么理解的 ,它是以發明人前國家隊隊長莫濤 莫隊 的名字命名的。 它是一種傳 ...

2017-12-01 14:45 8 4431 推薦指數:

查看詳情

樹上

聽說樹上只能搞子樹詢問? http://codeforces.com/blog/entry/43230 這篇運用了一個奇技淫巧把它擴展到了路徑詢問。現在主要就解(fan)釋(yi)一下那篇博客。 A. 子樹樹上 現在有一棵樹,有n個節點,節點有點權,每次詢問一個子樹內的不重 ...

Thu Jun 30 01:32:00 CST 2016 0 2082
、帶修莫樹上詳解

這幾天學習了莫算法,試着寫一篇比較詳細的莫教程吧... 普通莫 簡介 莫是一種基於分塊思想的離線算法,用於解決區間問題,適用范圍如下: 只有詢問沒有修改。 允許離線。 在已知詢問 \([l,r]\) 答案的情況下可以 \(O(1)\) 得到 \([l,r-1 ...

Mon Oct 01 01:19:00 CST 2018 6 4936
樹上算法

簡介 樹上,顧名思義就是把莫搬到樹上。 我們從一道題目入手[SDOI2018]原題識別 SPOJ Count on a tree II 題目意思很明確:給定一個$n$個節點的樹,每個節點表示一個整數,問$u$到$v$的路徑上有多少個不同的整數。 像這種不帶修改數顏色的題首先想 ...

Mon Jun 25 19:39:00 CST 2018 15 2706
算法良心講解

問題:有n個數組成一個序列,有m個形如詢問L, R的詢問,每次詢問需要回答區間內至少出現2次的數有哪些。   朴素的解法需要讀取O(nm)次數。如果數據范圍小,可以用數組,時間復雜度為O(nm)。如 ...

Sun Sep 25 07:03:00 CST 2016 3 8323
修改算法

update in 2017.12.24: 以前寫的≈shit,實在看不下去了,重寫一遍 pre 很早之前就學習了莫算法。 老師講課的時候就提到過帶修改在線莫樹上樹上修改……但是一直都沒有做到過有關的題, 今天有幸做了一道裸的帶修改的題, 那就來分享一下 ...

Wed Jul 12 18:31:00 CST 2017 11 2783
算法

機房的眾神犇都在搞這個東西,本SB也摻和一下下吧。 莫算法可用於解決一類可離線且在得到區間\([l,r]\)的答案后,能在\(O(1)\)或\(O(\log_2{n})\)得到區間\([l,r+1]\)或\([l-1,r]\)的答案的問題 先看這樣一個問題: 給出n個數字,m次詢問,每次 ...

Tue Oct 28 23:00:00 CST 2014 5 20027
優化

算法優化 1.奇偶優化 眾所周知,同一塊內的詢問右邊界時單調遞增的。此時 \(r\) 指針可以一路向右移動,於是有較高的效率。 但是當詢問來到下一個塊時, \(r\) 指針又會回調至此時最左側的詢問右邊界,且回調中不會有任何操作。 那么考慮利用這段回調。我們把當前塊內詢問按右邊界遞減 ...

Wed Oct 20 19:36:00 CST 2021 0 540
+帶修莫 及優化詳解

算法(Mo's algorithm)莫濤隊長發明的算法,尊稱莫。 先膜一下莫\(\%\%\%\)莫濤 - 知乎 思路A:two pointers處理 two pointers處理是一種優美的暴力。 例如此題:P3901 數列找不同 現有數列 \(A_1 ...

Sun Jun 20 23:10:00 CST 2021 1 153
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM