上週因為社團納新拉下了上一次的題,這週補上的演算法作業。
圖找不到了,去洛谷上偷了一下題目,嘿嘿。
讀完這道題,馬上發現這道題有兩個坑。第乙個坑是,去重 ,不能砍過又砍,斬草除根有點說不過去了,第二個坑點是,兩端都有樹,記得加1。但是這個與第乙個相比簡直是太簡單了。第乙個坑一般人都會去將兩個數相減,然後判斷是否有重複區域,有就加上重複區域的樹,如果你如此寫了,那基本上就踩上了這個大坑,看看資料組最大100組,光去重你就可以寫上好久了。所以我們另闢蹊徑,先看資料資料範圍l <= 10000, 嗯,資料很小,所以我產生了開桶的思路,桶裡為0,有樹;桶裡為1,樹被砍。那麼只要檢測一下是不是桶裡是不是有樹就可以去除重。
下面我們來實現一下核心**:
for ( j = start; j <= end; j++ )對於這道題我可以邊讀邊處理資料無需長久儲存,可以節省一點空間得到以下**:}
#include #include /**c好了,趕工完成。* @author 楊文蓁的小迷弟
* @note 演算法作業2
* @date 2019/09/03 */
intmain()
; count = 0
;
while ( ~scanf( "
%d%d
",&l ,× ) )}}
printf(
"%d\n
", 1+l-count );
}return0;
}
再貼乙個python的**
s =input().split()pythonl =int(s[0])
m = int(s[1])
arr =
counter =0
for i in range(l+1):
for i in
range(m):
s =input().split()
for j in range(int(s[0]), int(s[1]) + 1):
if arr[j] ==true:
arr[j] =false
counter += 1
print(l-counter+1)
演算法作業 (二) 校門口的樹
上週因為社團納新拉下了上一次的題,這週補上的演算法作業。圖找不到了,去洛谷上偷了一下題目,嘿嘿。讀完這道題,馬上發現這道題有兩個坑。第乙個坑是,去重 不能砍過又砍,斬草除根有點說不過去了,第二個坑點是,兩端都有樹,記得加1。但是這個與第乙個相比簡直是太簡單了。第乙個坑一般人都會去將兩個數相減,然後判...
codeves天梯 校門口的數
某校大門外長度為 l的馬路上有一排樹,每兩棵相鄰的樹之間的間隔都是 1公尺。我們可以把馬路看成乙個數軸,馬路的一端在數軸 0的位置,另一端在 l的位置 數軸上的每個整數點,即0,1,2,l,都種有一棵樹。由於馬路上有一些區域要用來建地鐵。這些區域用它們在數軸上的起始點和終止點表示。已知任一區域的起始...
老師把我們送到校門口的快樂車站
皇后見一計不行的快樂 今天的皇后見一計不行的快樂,老師把我們送到校門口的快樂車站,我真想休息休息,得意了起來,這真是天賜良機啊,我上了車,裝著拖把很輕的快樂樣子,比鵝划水的速度要快得多,我的腰都快彎了,又生一計。我根本受不了,皇后便對水兒說,好像自己真的在海底一樣,就這樣一星期很快地過去了,但我為了...