RMQ问题-ST方法
生活随笔
收集整理的這篇文章主要介紹了
RMQ问题-ST方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
參考?http://blog.csdn.net/sdj222555/article/details/7875575
?
RMQ 就是?Range Minimum/Maximum Query 就是求區間最值問題。
可以寫一個線段樹,但是預處理和查詢的復雜度都是O(logn)。這里有更牛的算法,就是ST算法,它可以做到O(nlogn)的預處理,O(1)!!!地回答每個詢問。
?
Sparse Table 稀疏表
就是?f[i,j]表示從第i個數起連續2^j個數中的最大值。
我們要求區間[2,8]的最大值,就要把它分成[2,5]和[5,8]兩個區間,因為這兩個區間的最大值我們可以直接由f[2,2]和f[5,2]得到。擴展到一般情況,就是把區間[l,r]分成兩個長度為2^n的區間。
?
總結
以上是生活随笔為你收集整理的RMQ问题-ST方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: kafka彻底删除topic
- 下一篇: ubuntu 安装google浏览器