POJ 1541 Stars(樹狀陣列)

2021-09-25 14:48:02 字數 1182 閱讀 7895

5

1 15 1

7 13 3

5 5

首先y等於1的時候,輸入x

這個時候查詢x前面所有的和就是它的level

此時level0=1,level1=1,level2=1;

157

//對應的x11

1//對應的樹狀陣列

然後輸入y等於3的時候,就插進去乙個x=3

level2+1=2

135

7111

1

y=5的時候,插進去x=5,已經存在了,這個時候把5這裡的樹狀陣列的值更新為加1

level3=1

135

7112

1

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define mod 999997

#define lson l, mid, root << 1

#define rson mid + 1, r, root << 1 | 1

#define father l , r , root

#define lowbit(x) ( x & ( - x ) )

using

namespace std;

typedef

long

long ll;

const

int maxn =

32010

;const

int inf =

0x3f3f3f3f

;int cnt[maxn]

;int a[maxn]

;int

sum(

int x)

return ans;

}void

update

(int x)

}int

main()

for(

int i=

0;ireturn0;

}

hdu 1541 Stars 樹狀陣列

題意 大概就是計算每顆星星左下邊包括了多少顆星星,這個數值就是level。左下邊不包括本身,不超過本身的x,y的座標,可以等於。問每種level有多少顆星星。這題,一開始想不到怎麼用到樹狀陣列,後來看了一下,發現題目給的資料是已經按x,y排好序的。所以我們可以不用管y的值,為什麼呢?我們乙個星星乙個...

樹狀陣列 HDOJ 1541 Stars

剛開始一點都不覺得是樹狀陣列。有很長一段時間覺的排個序就行了。直到重新讀題發現輸入是按順序的。不過值得注意的是輸入的x,y可能是0,但是在樹狀陣列中是不能為0的。最後加上乙個十分酷炫 喪心病狂 的輸入優化,直接跑第一面了。include include include include include...

HDU 1541 Stars(樹狀陣列)

題目鏈結 解析 題意 大概就是計算每顆星星左下邊包括了多少顆星星,這個數值就是level。左下邊不包括本身,不超過本身的x,y的座標,可以等於。問每種level有多少顆星星。這題,一開始想不到怎麼用到樹狀陣列,後來看了一下,發現題目給的資料是已經按x,y排好序的,所以我們可以不用管y的值。注意 1....