1. 程式人生 > >洛谷P3567 KUR-Couriers [POI2014] 主席樹/莫隊

洛谷P3567 KUR-Couriers [POI2014] 主席樹/莫隊

復雜 ble 題解 www 功能 www. 不同的 都是 出現次數

正解:主席樹/莫隊

解題報告:

傳送門!

這題好像就是個主席樹板子題的樣子,,,?

畢竟,主席樹的最基本的功能就是,維護一段區間內某個數字的個數

但是畢竟是剛get到主席樹,然後之前做的一直是第k大,這個是維護區間內數字個數,題目類型不一樣,所以還是積累一下這個題型和對應的方法QAQ

順便也水一發題解

所以還是寫下這題

首先不難想到對於[l,r]的點直接把r的樹和l-1的樹做差就可以得到

這樣現在就相當於是得到了一棵線段樹

那肯定就是維護這個區間的所有數字的出現次數(,,,我發現我這裏出現了兩個意義不同的區間,星趴我後面解釋一下)

顯然出現的次數總和sum是已知不變的,不可能存在l和r都>=sum/2(,,,哦其實存在極端情況的然而不要在意這種細節,,,差不多做法QAQ!)

所以每次就往出現次數>=sum/2的區間跑,如果跑到葉子節點了,就說明存在,如果跑著跑著發現,兩個區間都不滿足>=sum/2,說明GG了,就不存在

然後就做完辣!

然後說下兩個區間

第一個是最前面說,"首先不難想到對於[l,r]的點直接把r的樹和l-1的樹做差就可以得到",這裏指的是[l,r]這個詢問

第二個是第三行"那肯定就是維護這個區間的所有數字的出現次數"以及之後所有的關於區間的說法,指的都是序列上的區間

代碼等下放QAQ

另外說下!這題還有個!莫隊做法!雖然復雜度不對!但是能過去!但是我不想打了反正莫隊基本上實現都很簡單,懶得寫了QAQ

洛谷P3567 KUR-Couriers [POI2014] 主席樹/莫隊