2019牛客暑期多校訓練營(第四場)C sequence —— 笛卡爾樹模板+線段樹

This wayc++ 題意: 問你 web 題解: 遇到這種題目必定是先作最小的點所覆蓋的區間,依次這樣遞歸下去。這時候就有一個快速知道當前最小的點的位置以及區間的作法:笛卡爾樹 如下的講解是基於順序爲下標,排序爲最小值最優。 笛卡爾樹就是一個相似二叉搜索樹的二叉樹,首先用一個單調棧來維護從根開始的最右鏈,而後每次進來一個位置i,依次pop直到找到第一個小於等於a[i]的位置,將那個點的右兒子標
相關文章
相關標籤/搜索