樹狀陣列 HDU 1166

2021-08-21 23:45:32 字數 783 閱讀 9936

真是個入門題啊…… 直接考應用的

注意兩點:

1,hdu又卡輸入輸出,老手段了,習慣寫scanf吧

2,減去b其實就是加上-b  要有計算機人的思想(。。)

只改了輸入輸出,但是在差不多1e9的資料下面(?)快了不止一倍啊。

//離散化啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

//不難的啊吧啊啊啊啊啊啊啊啊啊啊啊啊

#include#include#include#includeusing namespace std;

typedef long long ll;

#define maxn 50005

ll bit[50005];//記得memset哦

ll a[50005];

ll lowbit(ll x)

void add(ll k, ll num,ll n)

}ll getsum(ll k) return sum;

}int main()

string s; ll a, b;

printf("case %d:\n", ++kase);

// cout << "case " << ++kase << ":"<> s)

else break;

if (s[0] == 'a') add(a, b, n);

else if (s[0] == 's')

else if (s[0] = 'q')

} }return 0;

}

樹狀陣列 HDU1166

繼續上次那題,我們現在採用樹狀陣列來解。樹狀陣列主要用來進行區間求和統計和定點更新操作,樹狀陣列的儲存是如下方式的 假設陣列a為a 1 a 2 a 3 a n 現在我們另陣列c 1 a 1 c 2 a 1 a 2 c 3 a 3 c 4 a 1 a 2 a 3 a 4 這是啥結構呢?其實c i a ...

樹狀陣列 HDU1166

題意為 t組測試陣列,跟著乙個整數n,n n 50000 表示n個營地 n後面跟著n個數ai 1 50 表示每個營地人數。然後輸入三種操作 最多有40000條操作 1.add x y x營地增加y人。2.query x y 查詢x y營地的總人數。3.sub x y x營地減少y人。end 結束。如...

Hdu1166 樹狀陣列

problem description c國的死對頭a國這段時間正在進行軍事演習,所以c國間諜頭子derek和他手下tidy又開始忙乎了。a國在海岸線沿直線布置了n個工兵營地,derek和tidy的任務就是要監視這些工兵營地的活動情況。由於採取了某種先進的監測手段,所以每個工兵營地的人數c國都掌握的...