這題因為資料規劃只有1e5 和 100, 所以直接暴力遍歷就可以解決.
//暴力方法
using
namespace std;
#include
int tree[
10005];
intmain()
int sum=0;
for(
int i=
0;i<=l;i++
) cout<
return0;
}
//差分方法
在這道題中,由於資料規模已經達到了1e8 和 1e6的級別,所以通過暴力的方式來做,複雜度會達到1e14的級別,必然會超時.但1e8的級別的int型陣列依舊可以開,所以可以通過差分的方式來解決.
另外注意m已經達到1e6的級別了,如此大量的輸入輸出,如果直接用cin cout的話無疑會導致超時,所以這裡需要用scanf printf.
關於遇到1則sum+1,可以參考下**釋.
)//3'注意從0開始,以及<=l,l這個點也是包括在內的
printf
("%d"
,sum)
;return0;
}
離散化是由於l的規模已經太大了,陣列開不下去了才採用的.
//校門外的樹
using
namespace std;
#include
const
int maxn=
1e5+5;
struct nodea[maxn]
;bool
cmp(node x,node y)
intmain()
sort
(a+1
,a+2
*m+1
,cmp)
;int sum=
0,cnt=0;
for(
int i=
1;i<=
2*m;i++)}
cnt+
=l-a[
2*m]
.pos+1;
cout<
return0;
}
校門外的樹
描述 某校大門外長度為 l的馬路上有一排樹,每兩棵相鄰的樹之間的間隔都是 1公尺。我們可以把馬路看成乙個數軸,馬路的一端在數軸 0的位置,另一端在 l的位置 數軸上的每個整數點,即0,1,2 l,都種有一棵樹。馬路上有一些區域要用來建地鐵,這些區域用它們在數軸上的起始點和終止點表示。已知任一區域的起...
校門外的樹
某校大門外長度為l的馬路上有一排樹,每兩棵相鄰的樹之間的間隔都是1公尺。我們可以把馬路看成乙個數軸,馬路的一端在數軸0的位置,另一端在l的位置 數軸上的每個整數點,即0,1,2,l,都種有一棵樹。由於馬路上有一些區域要用來建地鐵。這些區域用它們在數軸上的起始點和終止點表示。已知任一區域的起始點和終止...
校門外的樹
校門外的樹 題目描述 某校大門外長度為l的馬路上有一排樹,每兩棵相鄰的樹之間的間隔都是1公尺。我們可以把馬路看成乙個數軸,馬路的一端在數軸0的位置,另一端在l的位置 數軸上的每個整數點,即0,1,2,l,都種有一棵樹。由於馬路上有一些區域要用來建地鐵。這些區域用它們在數軸上的起始點和終止點表示。已知...