值周 校門外的樹

2021-10-24 08:20:21 字數 1885 閱讀 5392

這題因為資料規劃只有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,都種有一棵樹。由於馬路上有一些區域要用來建地鐵。這些區域用它們在數軸上的起始點和終止點表示。已知...