Poj2352 樹狀陣列或線段樹

2021-08-02 16:47:04 字數 674 閱讀 5518

確定星星的等級

就是他左下方星星的數目

又因為星星本來就是從左下到右上輸出的。。。

所以直接搞就好。

其實就是輸入乙個數

求之前小於等於這個數的數量x

然後a[x]++;

然後統計a[x];

#include 

#include

#include

#include

const

int maxn=35002;

const

int n=35002;

using

namespace

std;

/*確定星星的等級。

就是他左下方星星的數目。

*/int n;

int c[maxn];

int sum[maxn];

int a[maxn];

int lowbit(int x)

int update(int x)

}int getsum(int t)//得到小於等於x的數的和

return ans;

}int main()

for(int i=0;iprintf("%d\n",sum[i]);}}

return

0;}

POJ 2352 樹狀陣列(線段樹)

題意 給出n個點的座標 n 15000 座標範圍為 1,32000 最後讓你輸出ans i 表示有ans i 個點左下方有i個點。一開始直接寫的二維樹狀陣列,記錄乙個矩陣,如果 x,y 有點就是1,沒有點就是0,那麼我們可以輕易求出 1,1 到 x,y 共有多少點,不過這樣就爆了10倍記憶體。1k ...

poj2352 樹狀陣列 線段樹嘗試失敗

啊啊啊,剛學線段樹,用線段樹寫這題不斷的tle!我自己弄了15000個資料,秒算的,結果還是說我tle,搞了2個小時沒看出 能超時 然後用之前學的樹狀。十分鐘就搞定了,兩種 都先放這裡,線段樹那個以後再拿出來看看 tle 樹狀陣列解法 include includeusing namespace s...

poj 2352 樹狀陣列

這道題好像被賤做了,看起來像二維的樹狀陣列,其實只是一維的,可能是資料太大了,矩陣開不那麼大,因為題意是求乙個矩陣中做它左下部分的個數,而去輸入的順序是按y公升序,後x公升序輸入。其實如果不按這個順序可以下排序。然後就是一維的樹狀陣列的思路了。轉個圖,可以知道它的這陣列性質了 include inc...