計蒜客 棋子等級

2022-07-31 08:06:17 字數 780 閱讀 6465

座標系平面上有好多棋子,每個整點上至多有乙個棋子。

假定棋子的等級是左下方的棋子個數,現在給出若干棋子的位置,求不同等級的棋子各有多少個。左下方包含正下和正右。說明(0, 0) 座標的位置在左下角。

第一行乙個整數 n (1≤n≤100000)

接下來 n 行,一行兩個整數 x,y (0≤x,y<100000),表示座標。

資料保證座標先按 y 排序,再按 x 排序。n 行,每行乙個整數,從 0 到 n−1 等級的棋子數量。

51 1

5 17 1

3 35 512

110由於y座標是遞增給出的,因此這個題可以轉換為求和問題。假設棋子a座標為(x, y),由於遞增座標是遞增給出的,因此前面所有橫座標比x小的棋子都包含在棋子a的左下方。因此可以利用樹狀陣列求和。

degree[a] = getsum(x)

#include#include

#include#include #define max 100000 + 5

using

namespace std;

int n;

int num[max];

int degree[max];

int lowbit(int x)

void build(int x, int v)

}int getsum(int x)

return sum;

}int main()

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

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 leq n leq 1000001 n 100000 接下來 n 行,一行兩個整數 ...

計蒜客 2019計蒜之道D

題意 現在給定你乙個字串 s ss 以及乙個整數 k kk,請求出 s ss的字典序最小的長度為 k kk的子串行。資料範圍 0 s 5000000 00 s 5000 000 樣例輸入 helloworld 5樣例輸出 ellld思路 假如我們先不考慮長度為k的限制我們應當怎麼做?我們以樣例為例子...