hdu 4533(樹狀陣列區間更新 單點查詢)

2021-07-14 04:19:49 字數 524 閱讀 9576

題意:給你n個矩形,每個矩形給出左下角座標,右上角座標,有m個詢問,每個詢問給出乙個時間t,問(0,0),(t,t)的範圍內矩形的面積和(重疊的也算)。

參考部落格:

#include #include #include using namespace std;

const int n=200005;

typedef long long ll;

struct bit

void clear()

void add(int st,int ed,ll valu)

}a,b,c;

void fun(int st,int ed,ll a,ll b,ll c)

int main()

{ int t;

scanf("%d",&t);

while(t--)

{a.clear(); b.clear(); c.clear();

int n,m;

scanf("%d",&n);

for(int i=0;i

樹狀陣列 區間更新

樹狀陣列天生用來動態維護陣列字首和,其特點是每次更新乙個元素的值,查詢只能查陣列的字首和,但這個題目求的是某一區間的陣列和,而且要支援批量更新某一區間內元素的值,怎麼辦呢?實際上,還是可以把問題轉化為求陣列的字首和。首先,看更新操作update s,t,d 把區間a s a t 都增加d,我們引入乙...

hdu4533 威威貓系列故事 曬被子

problem description 因為馬拉松初賽中吃雞腿的題目讓不少人抱憾而歸,威威貓一直覺得愧對大家,這幾天他悄悄搬到直角座標系裡去住了。生活還要繼續,太陽也照常公升起,今天,威威貓在第一象限曬了n條矩形的被子,被子的每條邊都和座標軸平行,不同被子的某些部分可能會疊在一起。這時候,在原點處突...

樹狀陣列區間更新 單點查詢

設a陣列表示原來的區間 c i a i a i 1 這樣可以看出 a i sum c 1 c 2 c i 例如 a 1 3 4 2 6 8 c 1 2 1 2 4 2 樹狀陣列維護的是c陣列 當把a 3,5 每個數都加2時,我們看c陣列,由於c陣列維護的是相鄰區間的差值,所以c 3 2 因為區間 3...