HDU 1166 敵兵布陣

2021-08-11 15:19:53 字數 509 閱讀 6718

題目大意:中文題

解題思路:因為資料量比較大, 普通暴力演算法肯定會超時,採用線段樹或者樹狀陣列,這裡用樹狀陣列解答。樹狀陣列的基本入門我是看了這個部落格的還算挺清楚的,乙個地方可能是我理解偏差,lowbit(x)計算的2*k代表的應該是,二進位制下從最低位往最高位找出現的第乙個1代表的數的大小。看過以後就很清晰了

ac**:

#include #include using namespace std;

int t, a[50005], c[50005], n, temp1, temp2, cnt=1;

char com[15];

int lowbit(int x)

int getsum(int x)

void add(int x, int y)

int main()

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

while (1)

}return 0;

}

hdu 1166 敵兵布陣

這是一道線段樹里最簡單的一類題目了,單點更新型別!include define lson l m rt 1 define rson m 1 r rt 1 1 const int maxx 55555 int sum maxx 2 void pushup int rt void build int l...

hdu 1166 敵兵布陣

線段樹的模版 沒什麼思想 include include include include include include include include include include include include include define ll long long define vi vec...

HDU 1166 敵兵布陣

description lily 特別喜歡養花,但是由於她的花特別多,所以照料這些花就變得不太容易。她把她的花依次排成一行,每盆花都有乙個美觀值。如果lily把某盆花照料的好的話,這盆花的美觀值就會上公升,如果照料的不好的話,這盆花的美觀值就會下降。有時,lily想知道某段連續的花的美觀值之和是多少...