QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 1024 MB Total points: 100

#23267. 注水

Statistics

有一個 $N \times M$ 的網格,左上角的格子為 $(1,1)$,右下角的格子為 $(N,M)$。最底下一列的正下方有一層水無法穿透的地板。

每個格子要麼被阻塞,要麼暢通,水無法穿過被阻塞的格子。每一直行要麼沒有阻塞格,要麼所有阻塞格連續形成一個塊。水無法從相鄰阻塞格之間穿過。如果一直行中的塊包含最底下一列的格子,就稱為貼地塊;否則稱為懸空塊。

相鄰兩直行的兩個塊如果包含同一橫列的格子,就會連接成一個塊。水也無法穿過它們連接處的垂直邊界。這種連接適用於所有連續的直行。保證不會出現下圖第 $2$、$3$ 直行那樣、貼地塊與懸空塊需要連接的情況,即相鄰直行中連接的塊要麼都貼地,要麼都懸空。也不會出現下圖第 $5$、$6$ 直行那樣、兩個塊僅在一個角點相接的情況。

problem_23267_8cb67953815f4028d50d1cfff5c128f1.png

例如,下圖是一個 $8 \times 12$ 的網格。第一直行的第 $6$ 至 $8$ 橫列被阻塞,第二直行沒有阻塞格,第三直行的第 $5$ 至 $8$ 橫列被阻塞。

problem_23267_df94087cf2623dfaa69f6c57b8c4107f.png

假設從上方向該網格倒入足夠多的水。顯然,標為 $1$ 的格子會積水,標為 $2$ 的格子也一樣。標為 $3$、$4$ 的格子也會積水。這一點需要注意:本題認為不存在空氣,因此區域 $4$ 會積水到與區域 $3$ 相同的高度。(也可以認為空氣能穿過一切。)區域 $5$ 展示了懸空塊上方積水的情況。注意,區域 $6$ 這樣的情況不會積水。

編寫程式,讀入格子的布局,輸出倒入足夠多的水後會積水的格子數量。

輸入格式

標準輸入給出以下資訊。第一列給出兩個整數 $N,M$($1 \le N,M \le 100{,}000$)。接下來 $M$ 列,每列給出兩個整數 $A,B$($1 \le A \le B \le N$),按從左到右的順序描述各直行,表示該直行第 $A$ 橫列至第 $B$ 橫列被阻塞。特別地,如果該直行沒有阻塞格,則 $A,B$ 均為 $0$。

輸出格式

向標準輸出輸出給定網格在倒入足夠多的水後會積水的格子數量。

子任務

  • 子任務 1:占總分 $100$ 分中的 $7$ 分,只有第一直行和最後一直行存在阻塞格。
  • 子任務 2:占總分 $100$ 分中的 $18$ 分,若一直行有阻塞格,則該塊一定貼地。
  • 子任務 3:占總分 $100$ 分中的 $28$ 分,$1 \le N,M \le 1{,}000$。
  • 子任務 4:占總分 $100$ 分中的 $47$ 分,除原有限制外沒有額外限制。

範例

輸入格式 1

8 12
6 8
0 0
5 8
7 8
5 8
0 0
1 6
2 2
1 6
0 0
5 8
0 0

輸出格式 1

22

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.