對頂堆總結

大佬總結 這個玩意是可以動態維護第k大的值(比如中位數) 每次操作logn   我們要維護這兩個堆。 我們可以以小根堆的堆頂爲「分界線」 如果大於它,就加入小根堆 反之加入大根堆 如果兩個堆的個數相差超過1, 就把多的那個堆的堆頂彈出來,加入另一個堆的堆頂 如果要求中位數的話,顯然是兩個堆中 個數多的那一個的堆頂,這很容易理解。   加入的操作是這樣 priority_queue<int> q1;
相關文章
相關標籤/搜索