差分法 學校門前的樹

2021-10-08 21:40:38 字數 782 閱讀 3934

description

校門外長度為l的馬路上很有多顆樹,每兩棵相鄰的樹之間的間隔是1公尺。我們可以簡化的把馬路看成乙個數軸,馬路的一端在數軸中x=0的位置,另一端在x=l的位置;數軸上的每個整數點即0,1,2,3…l,都種有一棵樹。現在光頭強要把其中一些區域中的樹全部砍走。已知任一區域中的起點和終點都是整數,區域之間可能有重合的部分。現在你的任務是計算這些樹被平頭砍走後,馬路上還剩下多少棵樹。

input

題目資料有多組,對於每組的資料:

第一行輸入兩個數l(1 <= l <= 500000)和m(1 <= m <= 100000)。l代表馬路的長度,m代表平頭要砍樹的區域數目。

然後接下來m行中每行有兩個數left和right(0 <= left <= right <= l),表示乙個區域的起點和終點座標。

output

對於每組測試資料輸出乙個數,表示馬路上剩餘樹的數目。

sample input copy

500 3

150 300

100 200

470 471

sample output copy

298

#include

#include

int x[

500100];

intmain()

int k=0;

for(i=

0; i<=n; i++

)printf

("%d\n"

,k);

}return0;

}

CSP校門前的樹

初步思路 預處理出340以內的素數陣列 68 因為對於大於340的數,如果是合數,必然會被340以內的數整除 若不能,必大於1e5 那麼判斷進行質因數分解,只需逐個去除這個素數陣列即可,最後如果不是1,便是最後乙個素數 對於求 al,ar 內的完美種類數,將ar al進行因數分解,得到所有因數 不一...

校門外的樹(差分)

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

校門外的樹(差分)

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