hdu1823(二維線段樹模板題)

2022-08-16 10:51:12 字數 739 閱讀 3835

單點更新,求二維區間最值。

二維線段樹模板題。

二維線段樹實際上就是樹套樹,即每個結點都要再建一顆線段樹,維護對應的資訊。

一般一維線段樹是切割某一可變區間直到滿足所要查詢區間,求最值、求和等,二維就是先切割第一維的區間,再去切割第二維的區間。

#includeusing namespace std;

#define lson l, m, rt << 1

#define rson m + 1, r, rt << 1 | 1

int n, s[1005][4005];

void subbuild(int xrt, int l, int r, int rt)

}void build(int l, int r, int rt)

}void subupdate(int xrt, int y, int c, int l, int r, int rt)

}void update(int x, int y, int c, int l, int r, int rt)

}int subquery(int xrt, int yl, int yr, int l, int r, int rt)

}int query(int xl, int xr, int yl, int yr, int l, int r, int rt)

}int main() else }}

return 0;

}

二維線段樹 HDU 1823

很裸的一道二維線段樹,第一次做,其實二維的線段樹也就是樹套樹,先一維再第二維,第 一 二維的操作都很類似。說回hdu這道題,有點水,提交的時候記得交c g 會wa死你!define n 210 struct node struct node1t n 4 void build sub int id,i...

hdu 1823 線段樹(非二維做法)

都說這題是二維線段樹裸題,不過我二維線段樹有點麻煩 也不太想寫 還是得學的 我就直接開200棵線段樹了 這種方法在某一維很小的時候 是完全適用的 複雜度最多 100 1000 log 1000 完全不虛 include include includeusing namespace std const...

HDU 4819 二維線段樹

13年長春現場賽的g題,赤裸裸的二維線段樹,單點更新,區間查詢 不過我是第一次寫二維的,一開始寫t了,原因是我沒有好好利用行段,說白一點,還是相當於枚舉行,然後對列進行線段樹,那要你寫二維線段樹幹嘛 二維就是在每個行段也建一棵樹,來代表這個區間的行裡的某些列的值 其他操作倒是不難,因為有一維的功底,...