線段樹查詢

2021-07-05 10:57:55 字數 724 閱讀 6337

對於乙個有n個數的整數陣列,在對應的線段樹中, 根節點所代表的區間為0-n-1, 每個節點有乙個額外的屬性max,值為該節點所代表的陣列區間start到end內的最大值。

為segmenttree設計乙個query的方法,接受3個引數root,startend,線段樹root所代表的陣列中子區間[start, end]內的最大值。

您在真實的面試中是否遇到過這個題?

yes 樣例

對於陣列[1, 4, 2, 3], 對應的線段樹為:

[0, 3, max=4]

/ \

[0,1,max=4] [2,3,max=3]

/ \ / \

[0,0,max=1] [1,1,max=4] [2,2,max=2], [3,3,max=3]

query(root, 1, 1), return4

query(root, 1, 2), return4

query(root, 2, 3), return3

class solution 

}};

線段樹查詢 II

對於乙個陣列,我們可以對其建立一棵線段樹,每個結點儲存乙個額外的值count來代表這個結點所指代的陣列區間內的元素個數.陣列中並不一定每個位置上都有元素 實現乙個query的方法,該方法接受三個引數root,start和end,分別代表線段樹的根節點和需要查詢的區間,找到陣列中在區間 start,e...

線段樹查詢 II

對於乙個陣列,我們可以對其建立一棵 線段樹,每個結點儲存乙個額外的值 count 來代表這個結點所指代的陣列區間內的元素個數.陣列中並不一定每個位置上都有元素 實現乙個 query 的方法,該方法接受三個引數 root,start 和 end,分別代表線段樹的根節點和需要查詢的區間,找到陣列中在區間...

線段樹單點查詢

poj2828 題目大意 排隊,每個人可以有乙個可插入的序號,可以直接排到那個位置去 最重要的點就是在有序號i的人的前面,1 i 1的序號已經出現了 逆推,因為在最後面的人是不受約束的,不會因為還有人排隊進來而改變自己在佇列當中的序號。又因為在他的前面是有i個人的序號是比他小的,那麼他得留出來i個位...