2019牛客暑期多校训练营(第三场)F - Planting Trees (枚举 + 单调队列)
生活随笔
收集整理的這篇文章主要介紹了
2019牛客暑期多校训练营(第三场)F - Planting Trees (枚举 + 单调队列)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目鏈接
題意
有一個N2N^2N2的矩陣N∈(1,500)N \in (1,500)N∈(1,500),求一個最大的子矩陣使子矩陣中最大值和最小值差不超過M∈(0,105)M \in (0, 10^5)M∈(0,105),總的樣例N3≤2.5×108N^3 \le 2.5 \times 10^8N3≤2.5×108
思路
枚舉矩陣的上下界,然后枚舉右端點(diǎn),同時(shí)維護(hù)兩個單調(diào)隊(duì)列,最大值遞增,最小值遞減(這樣能保證如果單調(diào)隊(duì)列中頭元素合法之后的都可以滿足MMM的限制關(guān)系),這樣就可以得到一個合法的最左邊界。
復(fù)雜度:O(N3)O(N^3)O(N3)
總結(jié)
以上是生活随笔為你收集整理的2019牛客暑期多校训练营(第三场)F - Planting Trees (枚举 + 单调队列)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 割点、割边(桥) tarjan
- 下一篇: 2019牛客暑期多校训练营(第三场)J