ST表總結 例題

2021-09-27 07:47:21 字數 544 閱讀 4997

解決rmq(查詢區間最大/最小值問題)

複雜度:o(nlogn)

f[i][st]表示將作為區間左界,長度為2^st的區間的最大值。

st的最大值為 log2(n)

查詢上會比線段樹快

例題:1.p3865 【模板】st表

#include#include#include#include#include#includeusing namespace std;

int n,q;

int f[100001][22],a[100001];

inline int gi()

while(c>='0' && c<='9')

return f*sum;

}void st()

for(register int j=1;j<=k;j++)

for(register int i=1;i<=n-(1

int main()

return 0;

}

ST表(倍增表)

介紹st表之前先看看rmq問題是什麼東西吧 rmq range maximum minimum query 顧名思義,這就是指區間最大或最小值 區間最值 st表 spars table,一種可以解決rmq的,基於倍增的資料結構 令 f i j 表示從 i 開始連續 2 j 個數中的最值,如果 i 後...

演算法 ST表

想學習一下lca倍增,先 水乙個黃題 學一下st表 這是乙個運用倍增思想,通過動態規劃來計算區間最值的演算法 求出區間最值 回答詢問 求出區間最值 用 f i j 來儲存從第 j 個點開始,向後 2 i 1 個點 共 2 i 個點 中的最值 包括本身 利用二分法的思想,將區間 j,j 2 i 1 平...

ST(稀疏表)演算法

作用 st演算法是用來求解給定區間rmq的最值,本文以最小值為例 舉例 給出一陣列a 0 5 則區間 2,5 之間的最值為1。1 離線預處理 運用dp思想,用於求解區間最值,並儲存到乙個二維陣列中。具體解釋 1 離線預處理 st演算法使用dp思想求解區間最值,貌似屬於區間動態規劃,不過區間在增加時,...