棋子等級(樹狀陣列)

2021-08-21 13:12:05 字數 501 閱讀 4383

傳送門

題解:這個題使用樹狀陣列,跟據x軸建立樹狀陣列,因為y軸是遞增的,所以每次增加只需要查詢出這個點的sum值,更新這個x軸處以及以後的tree值,因為以後的點總是》=以前點的y值,這個題還有乙個坑點,就是x值可能為0,這樣是不是就迴圈不出來了。

#include#includeusing namespace std;

const int maxn=1e5+50;

int tree[maxn],ans[maxn];

int lowbit(int p)

void change(int p,int v)

for(;p<=maxn;p+=lowbit(p))

return ;

}int getsum(int p)

return res;

}int main()

for(int i=0;iprintf("\n");

return 0;

}

計蒜客 棋子等級

計蒜客 棋子等級 假定棋子的等級是左下方的棋子個數,現在給出若干棋子的位置,求不同等級的棋子各有多少個。輸入格式 第一行乙個整數 n 1 n 100000 n 1 leq n leq 100000 n 1 n 1000 00 接下來 n nn 行,一行兩個整數 x,y 0 x y 100000 x,...

計蒜客 棋子等級

座標系平面上有好多棋子,每個整點上至多有乙個棋子。假定棋子的等級是左下方的棋子個數,現在給出若干棋子的位置,求不同等級的棋子各有多少個。左下方包含正下和正右。說明 0,0 座標的位置在左下角。第一行乙個整數 n 1 n 100000 接下來 n 行,一行兩個整數 x,y 0 x,y 100000 表...

計蒜客 棋子等級 題解

座標系平面上有好多棋子,每個整點上至多有乙個棋子。假定棋子的等級是左下方的棋子個數,現在給出若干棋子的位置,求不同等級的棋子各有多少個。左下方包含正下和正左。說明 0,0 座標的位置在左下角。第一行乙個整數 n 1 leq n leq 1000001 n 100000 接下來 n 行,一行兩個整數 ...