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

2021-10-05 18:22:49 字數 629 閱讀 6706

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

#include#include#includeusing namespace std;

const int n = 202;

int tree[n][1050<<2],n;

void pushup(int o,int id)

void build(int id,int l,int r)

void update(int o,int id,int l,int r,int pos,int val)

int mid = l+r>>1;

if(pos<=mid) update(o,id<<1,l,mid,pos,val);

else

pushup(o,id);

}int query(int o,int id,int l,int r,int l,int r)

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...

hdu1823(二維線段樹模板題)

單點更新,求二維區間最值。二維線段樹模板題。二維線段樹實際上就是樹套樹,即每個結點都要再建一顆線段樹,維護對應的資訊。一般一維線段樹是切割某一可變區間直到滿足所要查詢區間,求最值 求和等,二維就是先切割第一維的區間,再去切割第二維的區間。includeusing namespace std defi...

HDU 4819 二維線段樹

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