星星之火OIer 星星題解

2021-09-02 14:50:00 字數 769 閱讀 1130

題目大意

天文學家經常研究星形圖,其中恆星由平面上的點表示,每顆恆星都有笛卡爾座標。讓恆星的水平為不高於恆星的數量,而不是給定恆星的右側。天文學家想知道恆星水平的分布。

例如,檢視上圖中顯示的地圖。星號5的等級等於3(它由三顆恆星形成,數字為1,2和4)。並且由2和4編號的星的等級是1.在該地圖上,只有0級的一顆恆星,1級的2顆恆星,2級的一顆恆星和3級的一顆恆星。 

您將編寫乙個程式,用於計算給定地圖上每個級別的星星數量。

輸入檔案的第一行包含許多星號n(1 <= n <= 15000)。以下n行描述了恆星的座標(每行由空格分隔的兩個整數x和y,0 <= x,y <= 32000)。飛機的乙個點上只能有一顆恆星。星號按y座標的公升序列出。具有相等y座標的星以x座標的公升序列出。

輸出應包含n行,每行乙個數字。第一行包含等級0的恆星數量,第二行包含等級1的恆星數量,依此類推,最後一行包含等級n-1的恆星數量。

這道題是一道樹狀陣列的題,但是我暴搜a了,所以要發出來紀念一下  :-)

還是先上**:

#includeinline void read(int &x) 

inline void pr(int x)

struct node a[15005];

int i,n,j,k,s[15005];

int main()

for(i=0;i**很好懂,然後這道題就用了560ms左右。。。。。。

然後就是應該用vector可以更快一些,可以節約一些時間

星星之火OIer 矩形牛棚題解

題目大意 在一塊地板上整齊的鋪滿地磚,但其中有一些有汙跡,現在要求你找出乙個沒有汙跡的最大正方形 以下1代表有汙跡 0 1 1 1 0 1 0 0 1 1 0 1 1 0 1 1 1 1 1 0 0 1 1 1 0 其中最大正方形的邊長為2 狀態轉移方程 dp i j min dp i 1 j mi...

星星之火OIer 逆序對(樹狀陣列)題解

老實說,還沒有歸併排序快 先上 再解釋 include includeusing namespace std inline void read long long x while s 0 s 9 x f inline void pr long long x struct node a 500005 ...

星星之火OIer 快讀 快輸

在這裡給大家介紹一下快讀快輸,自己也存個檔。inline void read int x while s 0 s 9 x f 正數不改變符號 x 1 負數就改變 x 1 此之謂快讀inline void pr int x if x 9 因為putchar一次只能輸出一位,而且要從前往後輸出,所以要用...