洛谷P3567 KUR-Couriers [POI2014] 主席樹/莫隊
阿新 • • 發佈:2019-02-27
復雜 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] 主席樹/莫隊