校門外的樹 題解

2021-10-08 08:41:47 字數 1208 閱讀 5419

洛谷 p1047

某校大門外長度為l

ll的馬路上有一排樹,每兩棵相鄰的樹之間的間隔都是1公尺。我們可以把馬路看成乙個數軸,馬路的一端在數軸0的位置,另一端在l

ll的位置;數軸上的每個整數點,即0,1,2,……,l

ll,都種有一棵樹。

由於馬路上有一些區域要用來建地鐵。這些區域用它們在數軸上的起始點和終止點表示。已知任一區域的起始點和終止點的座標都是整數,區域之間可能有重合的部分。現在要把這些區域中的樹(包括區域端點處的兩棵樹)移走。你的任務是計算將這些樹都移走後,馬路上還有多少棵樹。

輸入的第一行有兩個整數l

ll(1 <= l

ll<= 10000)和 m

mm(1 <= m

mm<= 100),l

ll代表馬路的長度,m

mm代表區域的數目,l

ll和m

mm之間用乙個空格隔開。接下來的m

mm行每行包含兩個不同的整數,用乙個空格隔開,表示乙個區域的起始點和終止點的座標。

輸出包括一行,這一行只包含乙個整數,表示馬路上剩餘的樹的數目。

input

500 3

150 300

100 200

470 471

output

298排序+離散化

離散化模板:

for(int i=2;i<=2*n;i++)

for(j=1;j<=n;j++)

if(a[i]

>

&&a[i]

<=b[j]

[2])

#include

#include

#include

using namespace std;

int n,m,ans,h[110],y[110],a[210]

;int main(

) sort(a+1,a+2*m+1)

;for

(int i=1;i<=2*m;i++)

if(p==0)

ans++;

} cout<

return 0;

}

校門外的樹 (樹狀陣列)題解

校門外的樹 校門外有很多樹,有蘋果樹,香蕉樹,有會扔石頭的,有可以吃掉補充體力的 如今學校決定在某個時刻在某一段種上一種樹,保證任一時刻不會出現兩段相同種類的樹,現有兩個操作 k kk 1,讀入l ll,r rr表示在l ll r rr之間種上的一種樹 k kk 2,讀入l ll,r rr表示詢問l...

2021 1 20 A 校門外的樹 題解

解法一 思路一 暴力模擬 a 校門外的樹 include includeint road 10001 利用全域性靜態陣列全部初始化為0的特點 int caltree int endofroad return cnt void cutdown int begin,int end int main vo...

校門外的樹

描述 某校大門外長度為 l的馬路上有一排樹,每兩棵相鄰的樹之間的間隔都是 1公尺。我們可以把馬路看成乙個數軸,馬路的一端在數軸 0的位置,另一端在 l的位置 數軸上的每個整數點,即0,1,2 l,都種有一棵樹。馬路上有一些區域要用來建地鐵,這些區域用它們在數軸上的起始點和終止點表示。已知任一區域的起...