D 樓房重建

2022-08-12 15:45:16 字數 2940 閱讀 9366

時間限制 : - ms   空間限制 : - kb

評測說明 : 1s,256m

問題描述

小a的樓房外有一大片施工工地,工地上有n棟待建的樓房。每天,這片工地上的房子拆了又建、建了又拆。他經常無聊地看著窗外發呆,數自己能夠看到多少棟房子。

為了簡化問題,我們考慮這些事件發生在乙個二維平面上。小a在平面上(0,0)點的位置,第i棟樓房可以用一條連線(i,0)和(i,hi)的線段表示,其中hi為第i棟樓房的高度。

如果這棟樓房上存在乙個高度大於0的點與(0,0)的連線沒有與之前的線段相交,那麼這棟樓房就被認為是可見的。

施工隊的建造總共進行了m天。初始時,所有樓房都還沒有開始建造,它們的高度均為0。

在第i天,建築隊將會將橫座標為xi的房屋的高度變為yi(高度可以比原來大—修建,也可以比原來小—拆除,甚至可以保持不變—建築隊這天什麼事也沒做)。

請你幫小a數數每天在建築隊完工之後,他能看到多少棟樓房?

輸入格式

第一行兩個正整數n,m

接下來m行,每行兩個正整數xi,yi

輸出格式

m行,第i行乙個整數表示第i天過後小a能看到的樓房有多少棟

樣例輸入 1

3 42 4

3 61 1000000000

1 1樣例輸出 111

12樣例輸入 2

10 100

6 166267291

4 764085103

1 12360641

1 846991393

6 383204345

2 69698641

9 12331341

1 772764651

5 131311041

10 46049537

6 690746401

2 145679903

10 758217

4 201987721

9 249525949

7 161049529

6 110578175

4 231517001

5 644489651

7 340648201

7 151799407

10 7480386

3 206257865

9 328935144

3 352739143

7 84581584

5 29535731

4 196598419

6 55312269

8 11283241

7 10289281

4 250134981

2 208241815

5 46222012

6 34664323

7 359037865

9 396005251

2 101892805

2 210317844

3 441658977

5 113743513

8 44192926

6 102944206

4 288727385

6 233930929

8 2996745

2 660629278

4 32747101

5 7218281

9 991959715

1 130023361

9 20174977

10 590823439

4 609043601

10 794927517

8 835448158

9 79194028

10 218902057

3 81328780

1 842713384

6 506252986

9 38734669

7 134763046

7 198136601

6 145100953

8 139458607

3 621701089

10 163368301

8 162641963

2 177393360

8 429881306

7 165305441

4 16342951

10 217025793

5 32343754

1 221071391

4 17866381

2 1999669

2 109659346

10 179614829

4 59706591

4 19298137

8 774219601

8 6099164

7 258624081

5 66188305

5 64116244

10 355183187

2 354022111

6 3929553

3 234438274

5 550657829

1 283731112

1 497844261

7 287715541

7 434450329

10 267779521

5 37026775

9 7125790

7 23094767

樣例輸出 211

2111

1111

1111

1111

1111

1111

1111

1111

1111

1111

1111

1111

2222

2222

2111

1111

1111

1111

1111

1111

1111

1111

1111

1111

11提示對於所有的資料

1 ≤ xi ≤ n,1 ≤ yi ≤ 109

n,m ≤ 100000

【分析】

【標程】

樓房重建 (線段樹)

2957 樓房重建 time limit 10 sec memory limit 256 mb submit 2289 solved 1081 submit status discuss description 小a的樓房外有一大片施工工地,工地上有n棟待建的樓房。每天,這片工地上的房子拆了又建 建...

樓房重建(分塊優化)

小a的樓房外有一大片施工工地,工地上有n棟待建的樓房。每天,這片工地上的房子拆了又建 建了又拆。他經常無聊地看著窗外發呆,數自己能夠看到多少棟房子。為了簡化問題,我們考慮這些事件發生在乙個二維平面上。小a在平面上 0,0 點的位置,第i棟樓房可以用一條連線 i,0 和 i,hi 的線段表示,其中hi...

2957 樓房重建

題目鏈結 題目大意 數軸上有n座樓,初始高度為0,每次可以改變某棟樓的高度,求每次改變高度之後從原點可以看到幾棟樓 題解 記每棟樓樓頂與原點連線的斜率,那麼一棟樓可見當且僅當前面所有樓的斜率都小於這棟樓 分塊 塊內維護特殊的lis,4 1 2 3 5 那麼維護的序列就是4 5 塊內暴力修改,查詢的時...