poj 2352 Stars 樹狀陣列

2021-07-29 12:11:03 字數 987 閱讀 1222

給你一系列點(按y遞增,x遞增排列),level[x] 指的是 在當前點的左下方 包括自己 的點數為x 的這些點的個數。

樹狀陣列

y遞增,不管y,只要維護x就行了

讀入乙個點,找到比他小的點的個數,也就是他的等級,然後將這個等級的點的個數加一即可

#include 

#include

#include

using namespace std;

typedef long

long ll;

#define ms(a) memset(a,0,sizeof(a))

#define mp make_pair

#define pb push_back

const

int inf = 0x3f3f3f3f;

const ll infll = 0x3f3f3f3f3f3f3f3fll;

inline ll read()

while(ch>='0'&&ch<='9')

return x*f;

}///

//////

//////

//////

//////

//////

//////

//////

//////

//////

//////

//////

/////

const

int maxn = 32000+10;

int bit[maxn],level[maxn];

void add(int x,int v)

}int sum(int x)

return res;

}int main()

for(int i=1; i<=n; i++)

cout << level[i] << endl;

return

0;}

樹狀陣列 poj2352 Stars

stars 題目 題意 在乙個二維陣列中統計某個等級星星的個數,星星的等級為不比此星星高且不在它右邊範圍內的星星個數。題解 因為輸入的資料已經排序,只要一邊接收輸入一邊計算等級即可。include includeusing namespace std int a 15005 c 32010 defi...

poj 2352 Stars(樹狀陣列)

題意 依次給出n個星星的座標 y座標以非遞減的順序輸入 對於每個星星,她的等級等於她左下方的星星的個數和 包括邊界上的星星 要求輸出等級0到等級n 1的星星的個數。0 x,y,32000,1 n 15000 設x i 表示橫座標為i的星星有多少顆,那麼對於乙個單一詢問 星星 k,y 的等級是多少?要...

poj 2352 Stars 樹狀陣列

我的第一道樹狀陣列哇咔咔 大一的時候怎麼都看不懂,也許我當時太不用心了吧。題意 給一些點的座標,每個點的level是看比它高度低且不在它右邊的點的個數。演算法 由於此題座標本來就是按y值從小到大,x值從小到大排列的。所以樹狀陣列中存座標為x的點的個數。每次讀入只要找1 x的sum,然後更新數量 1即...