題目:
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 最優...