模板 ST表(洛谷P3865)

2022-09-02 13:42:06 字數 475 閱讀 5034

給定乙個長度為\(n\)的數列,和\(m\)次詢問,求出每一次詢問的區間內數字的最大值。

第一行包含兩個整數\(n\),\(m\)。分別表示數列的長度和詢問的個數。

第二行包含\(n\)個整數,記為\(a_i\),依次表示數列的第\(i\)項。

接下來\(m\)行,每行包含兩個整數\(l_i,r_i\),表示查詢的區間為\([l_i,r_i]\)

輸出包含 \(m\) 行,每行乙個整數,依次表示每一次詢問的結果。

#include#include#includeusing namespace std;

int n,m,log[100010],st[100010][20],l,r;

inline int read()

return ans;

}int main()

while (m--)

return 0;

}

模板 ST表 洛谷P3865

題目背景 這是一道st表經典題 靜態區間最大值 請注意最大資料時限只有0.8s,資料強度不低,請務必保證你的每次查詢複雜度為 o 1 題目描述 給定乙個長度為 n 的數列,和 m 次詢問,求出每一次詢問的區間內數字的最大值。輸入輸出格式 輸入格式 第一行包含兩個整數 n,m 分別表示數列的長度和詢問...

洛谷 P3865 模板 ST表

st表可以解決rmq問題,即區間最大值 最小值 速度快 預處理的時間複雜度是o nlogn 查詢的時間複雜度是o 1 不支援修改操作 st表借助於乙個陣列實現 st i j 表示從i為起點,2j個長度的區間最大值。顯然,st i 0 a i 即從i開始1個單位長度的最大值就是i。然後是乙個雙層迴圈,...

ST表 (模板) 洛谷3865

題目背景 這是一道st表經典題 靜態區間最大值 請注意最大資料時限只有0.8s,資料強度不低,請務必保證你的每次查詢複雜度為 o 1 o 1 題目描述 給定乙個長度為 n n 的數列,和 m m 次詢問,求出每一次詢問的區間內數字的最大值。輸入輸出格式 輸入格式 第一行包含兩個整數 n,m n,m ...