剛開始一點都不覺得是樹狀陣列。。。有很長一段時間覺的排個序就行了。。。直到重新讀題發現輸入是按順序的。。。不過值得注意的是輸入的x,y可能是0,但是在樹狀陣列中是不能為0的。。。最後加上乙個十分酷炫(喪心病狂)的輸入優化,直接跑第一面了。。
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define maxn 32005
#define eps 1e-7
#define mod 1000000007
#define inf 99999999
#define lowbit(x) (x&(-x))
typedef long long ll;
using namespace std;
int tree[maxn];
int hash[maxn];
int n;
void add(int x)
int get(void)
int main(void)
{ int i, x, y;
while(scanf("%d",&n)!=eof){
getchar();
memset(tree, 0, sizeof tree);
memset(hash, 0, sizeof hash);
for(i=0;i
HDOJ 1541 樹狀陣列
題目 題意 給一組星星,每顆星星左下角有多少個星星他就是多少級。然後輸出沒級星星個數。題目按y公升序。所以只要考慮x。因為x,y的範圍不大。只有32000,所以可以建立樹狀陣列了。include define pi 3.1415926 define inf 1e18 define inf 1e9 d...
HDOJ 1541 star 樹狀陣列)
這道題告訴我們若干顆星星的座標,告訴我們的時候y座標已經按照公升序排列了。對於每一顆星,它的等級數等於它左邊和左上角星星的顆數。最後問每一顆星星的等級。把星星按照給我們的順序 就是y座標從小到大的順序 依次把乙個陣列中下標為x的元素加1。對於某一顆星,座標為x,那麼把陣列中下標為x及之前的所有元素相...
HDU 1541 樹狀陣列
傳送門 hdu 1541 給定一組點,用座標表示,求各個層次的點的數量,每個點層次指的是其它點中 座標均不大於當前點 座標點的數量 注意題目給出,所有輸入對於 來說都是不降序,所以只要考慮 就可以了,y不增的時候x自增,所以後輸入的點不會影響先輸入點的層次 因為計算層次的時候要排除自身,所以要先更新...