2023-02-08倍增表

什么是倍增法?

?1,2,4,8,16,32,。。。。。

?每個數(shù)是前面的一倍

?步長翻倍

?ST(Sparse Table,稀疏表)表

–應用:解決RMQ問題

–RMQ(Range Minimum/Maximum Query),即區(qū)間最值查詢,是指這樣一個問題:對于長度為n的數(shù)列A,回答若干詢問RMQ(A,i,j)(i,j<=n),返回數(shù)列A中下標在i,j之間的最小/大值。

?例如:

?A數(shù)列為:3 2 4 5 6 8 1 2 9 7

?F[1,0]表示第1個數(shù)起,長度為2^0=1的最大值,其實就是3這個數(shù)。

?同理 F[1,1] = max(3,2) = 3,

?F[1,2]=max(F[1,1],4,5)= 5,

?F[1,3]= max(F[1,2],6,8,1,2) = 8;

?F[1,4]=max(F[1,3],9,7)=9

[if ppt]?[endif]

?像上面的表,每個表的步長依次翻倍

?如果查詢整個區(qū)間最大的數(shù)值,直接計算

?F[1,4]=9

[if ppt]?[endif]

[if ppt]?[endif]

[if ppt]?[endif]



?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • C語言經(jīng)典例程100例 這篇文章主要介紹了C語言經(jīng)典例程100例,經(jīng)典c程序100例,學習c語言的朋友可以參考一下...
    縸_3354閱讀 410評論 0 0
  • 轉(zhuǎn)自這個博客 文章中間我會利用/**/符號附一些自己的理解 概述 RMQ(Range Minimum/Maxim...
    無令便逐風閱讀 466評論 0 0
  • 基礎(chǔ)篇NumPy的主要對象是同種元素的多維數(shù)組。這是一個所有的元素都是一種類型、通過一個正整數(shù)元組索引的元素表格(...
    oyan99閱讀 5,290評論 0 18
  • 基于學生學習共同體培育語文生態(tài)課堂文化的研究 近年來,隨著現(xiàn)代教育理念的不斷深入與...
    火車頭123閱讀 2,280評論 0 8
  • NumPy是Python中關(guān)于科學計算的一個類庫,在這里簡單介紹一下。 來源:https://docs.scipy...
    灰太狼_black閱讀 1,331評論 0 5

友情鏈接更多精彩內(nèi)容