樹狀陣列專題 六 hdu1556

2021-06-02 11:15:02 字數 628 閱讀 5311

//這是屬於樹狀陣列的應用二..對一段區間進行修改..然後訪問點的更新值..

//如何對於一段區間[a,b]更新的情況updata(a,1);updata(b+1,-1)的理解..

//因為是對於[a,b]區間內的更新..那麼只更新a是如何去理解呢..

//對於getsum(i)得到的是1-i的總和..那麼updata(a)以後..對於a-n都加了1..

//然後對b+1-->n更新-1..則獲得了需要的結果..

#include

#include

#include

#include

#include

#include

#include

using namespace std;

const int mn = 111111;

int n,tree[mn];

int lowbit(int x)

void updata(int x ,int y)

int getsum(int x)

return sum;

}int main()

for(int i = 1 ; i < n ; i++)

printf("%d\n",getsum(n));}}

HDU 1556樹狀陣列求解

f color the ball time limit 3000msmemory limit 32768kb64bit io format i64d i64u submit status practice hdu 1556 description n個氣球排成一排,從左到右依次編號為1,2,3.n....

樹狀陣列 or 線段樹 (HDU 1556)

樹狀陣列 例題 hdu 1556 n個氣球排成一排,從左到右依次編號為1,2,3.n.每次給定2個整數a b a b lele便為騎上他的 小飛鴿 牌電動車從氣球a開始到氣球b依次給每個氣球塗一次顏色。但是n次以後lele已經忘記了第i個氣球已經塗過幾次顏色了,你能幫他算出每個氣球被塗過幾次顏色嗎?...

HDU 1556 (差分陣列)

題意 n個氣球 1 到 n 編號 然後接下來n行 每行給2個整數 a b,從a到b依次給每個氣球塗一次顏色,n次後操作後忘記了第 i 個氣球塗過幾次顏色了 問算出每個氣球被塗過幾次顏色 思路 資料範圍 n 1e5 1 a,b n 時間 3e9 區間操作和單點查詢 1 線段樹 區間操作 都是log 2...