CF436F Banners(分块/凸包/单调队列)
生活随笔
收集整理的這篇文章主要介紹了
CF436F Banners(分块/凸包/单调队列)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
CF436F Banners
首先有n個物品分別有ai和bi,然后定義價值為
c?w+p?(ai大于p且bi小于c的用戶個數)c*w+p*(ai大于p且bi小于c的用戶個數)c?w+p?(ai大于p且bi小于c的用戶個數)
然后我們需要求解對于每一個c的最大價值和對應的p
首先我們先枚舉c,然后每次加入一個點相當于是每次給一個前綴加橫坐標,然后詢問最大值。
因為每次加的大小是一定的,所以我們可以將其看作是一條直線,然后分塊處理,每次對于完整的塊就移動橫坐標,維護單調隊列,將橫坐標小的彈掉,然后對于零散塊直接重建。
所以這道題就是運用了分塊來維護凸包。
總結
以上是生活随笔為你收集整理的CF436F Banners(分块/凸包/单调队列)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 变脸是哪个剧种的绝活 快来这里了解具体情
- 下一篇: 老坛酸菜做法 老坛酸菜做法是什么