HDU 1556 (差分陣列)

2021-09-27 03:28:31 字數 582 閱讀 5362

題意:

n個氣球 1 到 n 編號

然後接下來n行 ,每行給2個整數 a b,

從a到b依次給每個氣球塗一次顏色,

n次後操作後忘記了第 i 個氣球塗過幾次顏色了

問算出每個氣球被塗過幾次顏色 

思路: 

資料範圍 n 1e5  1 <= a, b <= n  時間 3e9 

區間操作和單點查詢

1)線段樹  區間操作 都是log(2)n   

2)差分陣列  區間操作 o(1) 全部查詢 o(n)

ac:

#include#include#include#includeusing namespace std;

const int maxn = 1e5;

int f[maxn + 10];

int main()

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

int temp = 0;

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

printf("\n");

} return 0;

}

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

樹狀陣列專題 六 hdu1556

這是屬於樹狀陣列的應用二.對一段區間進行修改.然後訪問點的更新值.如何對於一段區間 a,b 更新的情況updata a,1 updata b 1,1 的理解.因為是對於 a,b 區間內的更新.那麼只更新a是如何去理解呢.對於getsum i 得到的是1 i的總和.那麼updata a 以後.對於a ...

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

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