POJ 2892(樹狀陣列 二分)

2021-06-28 19:51:08 字數 646 閱讀 9089

題目:

poj上1a,但是拿到hdoj1540上卻wa了,看了discuss發現在hdoj需要考慮乙個村莊被摧毀和恢復多次的情況

#include #include #define max	50005

int n, m;

int c[max] = , b[max];

bool a[max] = ;

int stack[max], top;

inline int lowbit(int x)

void update(int x, int v)

int sum(int x)

int upper(int v)//find leftest i that sum(i) > v

return r;

}int lower(int v)//find leftest i that sum(i) >= v

return r;

}int query(int x)

int main()

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

else update(stack[--top], -1);

} }return 0;

}

時間複雜度o(n(logn)^2),常數小的樹狀陣列真是厲害

poj2892 樹狀陣列 二分

題意 求0所在位置兩點連續0的個數,不斷更新某個點,將這個點變成0或1 用數狀陣列維護這個表,變成0,1就更新某個點,這是樹狀陣列的特長。查詢的時候,對兩邊二分就行了 main.cpp poj2892 created by he xilin on 12 4 30.include include in...

poj2182 樹狀陣列 二分)

題意 給乙個數n,然後n 1行,每行乙個數q,第i個數qi代表第i 1頭牛前面有qi頭牛編號比它小,求所有牛的編號。因為只有最後一頭牛編號是確定的,所有從後往前,每次用二分找到數字,並用樹狀陣列確定和儲存。include include include includeusing namespace ...

E Minimum Array 樹狀陣列 二分

其實貪 心還是比 較顯 然其實貪心還是比較顯然 其實貪心還是 比較顯然對於 乙個ai 我們最 好找到b j n ai 對於乙個a i,我們最好找到b j n a i 對於乙個ai 我們 最好找到 bj n ai 這樣 對n求餘 後就是0 最 優這樣對n求餘後就是0,最優 這樣對n求餘 後就是0 最優...