線段樹查詢 II

2021-07-06 06:12:20 字數 1056 閱讀 9819

對於乙個陣列,我們可以對其建立一棵線段樹, 每個結點儲存乙個額外的值count來代表這個結點所指代的陣列區間內的元素個數. (陣列中並不一定每個位置上都有元素)

實現乙個query的方法,該方法接受三個引數root,startend, 分別代表線段樹的根節點和需要查詢的區間,找到陣列中在區間[start, end]內的元素個數。

樣例對於陣列[0, 空,2, 3], 對應的線段樹為:

[0, 3, count=3]

/ \

[0,1,count=1] [2,3,count=2]

/ \ / \

[0,0,count=1] [1,1,count=0] [2,2,count=1], [3,3,count=1]

query(1, 1), return0

query(1, 2), return1

query(2, 3), return2

query(0, 2), return2

/**

* definition of segmenttreenode:

* class segmenttreenode

* }*/class solution

if (start == root->start && end == root->end)

else if (start >= root->left->start && start <= root->left->end)

else

}else

}};

線段樹查詢 II

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

線段樹II 區間修改

題意 假設貨架上從左到右擺放了n種商品,並且依次標號為1到n,其中標號為i的商品的 為pi。小hi的每次操作分為兩種可能,第一種是修改 小hi給出一段區間 l,r 和乙個新的 newp,所有標號在這段區間中的商品的 都變成newp。第二種操作是詢問 小hi給出一段區間 l,r 而小ho要做的便是計算...

線段樹查詢

對於乙個有n個數的整數陣列,在對應的線段樹中,根節點所代表的區間為0 n 1,每個節點有乙個額外的屬性max,值為該節點所代表的陣列區間start到end內的最大值。為segmenttree設計乙個query的方法,接受3個引數root,start和end,線段樹root所代表的陣列中子區間 sta...