線段樹注意事項

2021-08-05 19:15:25 字數 298 閱讀 4114

1.所有的乘除法都用位運算,速度快,而且好像可以防wrong answer

2.樹的大小開maxn的四倍,即maxn<<2

3.如果範圍是[0,n-1],子節點為2*root+1和2*root+2

如果範圍是[1,n],子節點為root<<1和root<<1|1

4.區間更新時,節點表示範圍內的總和,和表示範圍內的最大最小值是有不同的,

表示範圍內總和時,整個區間都要乘上改變的節點值。

5.對於pushdown()函式要有深刻理解。

看的這篇部落格理解了簡單的線段樹,共勉。

線段樹區間染色 注意事項

具體思路 用線段樹儲存每個區間的顏色,然後再打乙個染色的標記,注意最後統計的時候,相鄰區間的不注意的話會被算成兩種。如果按照我一開始的思路的打,1,4 這個區間,5,8 這個區間,如果 1,4 的顏色和 5,7 的顏色相同,但是如果 5,8 是乙個混色的時候,這個時候會被統計成兩個顏色,其實是只有一...

Mysql B 樹索引使用注意事項

b 樹索引 1 索引的代價,每建立乙個索引,都需要建立一顆b 樹,建多了就非常占用空間 每次對錶的增刪改,都需要修改各個b 樹索引排列順序,導致效能損耗。2 b 樹索引適用於下邊這些情況 1 全值匹配 2 匹配左邊的列 3 匹配範圍值 4 精確匹配某一列並範圍匹配另外一列 5 用於排序 6 用於分組...

java DOM 注意事項

1.w3c把標籤內的文字部分也定義成乙個node 2.element物件代表的是xml文件中的標籤元素 繼承於node,亦是node的最主要的子物件 3.attr實際上是包含在element中的,它並不能被看作是element的子物件,因而在dom中attr並不是dom樹的一部分,所以node中的 ...