utf8gbsn
0條直線的空間含有1個區域。一條直線把乙個空間劃分為2個。兩條,可以分為4個區域。那麼n條直線最多可以把乙個平面空間分為多少各區域?針對這個問題,我們任然是採用三步走。
簡單公式或者遞推
通項公式
看看簡單情況,
第二步是為了分析問題的某種形式的解。可以是遞推公式等。但是怎麼分析這個問題。假如我們有n-1條直線已經存在這個平面裡。當第n條直線出現,和其他直線相交的時候。我們發現,只要和其中一條直線相交,那麼這條直線左邊的空間將被分為2半。也就是說,只要只要相交就會有乙個空間區域被分開為兩個。那麼n-1直線和第n條直線有多少個交點?n-1個交點。而最終直線出發的那個空間也會被分為2半。這樣我們可以說,只要有n-1交點,那麼就會有n個區域被分成兩半
t (n
)⩽t(
n−1)
+nt(n) \leqslant t(n-1)+n
t(n)⩽t
(n−1
)+n上界證明了,那麼看看下界。第n條直線,和前面n-1條直線,只要不平行。必定也就是至少有n-1個交點。所以
t (n
)⩾t(
n−1)
+nt(n) \geqslant t(n-1)+n
t(n)⩾t
(n−1
)+n故而
t (n
)=t(
n−1)
+nt(n) = t(n-1)+n
t(n)=t
(n−1
)+n我們來看看通項公式
t (n
)=n+
t(n−
1)=n
+n−1
+t(n
−2)=
n+n−
1+n−
2+⋯+
1+1t(n)=n+t(n-1)=n+n-1+t(n-2)=n+n-1+n-2+\cdots+1+1
t(n)=n
+t(n
−1)=
n+n−
1+t(
n−2)
=n+n
−1+n
−2+⋯
+1+1
使用高斯求和公式,我們可以得到
t (n
)=n(
n+1)
2+1t(n)=\frac+1
t(n)=2
n(n+
1)+
1變種問題,假如直線不是筆直的直線。而是呈銳角的折線。那麼n條折線最多可以把乙個平面空間劃分為多少個區域?
根據前面的介紹我們觀察到
沒一條折線減少2個區域。而且是最少減少2個區域。只有如第一幅圖的布局才會讓相交點最少。這樣減少的區域才最少。我們可以得到
z n=
l2n−
2n=2
n(2n
+1)/
2+1−
2n=2
n2−n
+1,for n⩾
0\begin \mathrm_}=& \mathrm_}-2 \mathrm=2 \mathrm(2 \mathrm+1) / 2+1-2 \mathrm \\ &=2 \mathrm^-\mathrm+1, \quad \text \mathrm \geqslant 0 \end
zn=l
2n−
2n=2
n(2n
+1)/
2+1−
2n=2
n2−n
+1,for n⩾
0
POJ 2074 直線相交
思路比較直接。根據house的位置與每乙個obstruction之間的相對位置,求出在line上不能夠看到的區域area的位置。對所有的位置進行線性掃瞄,找出最長的通視距離,這個掃瞄過程需要細緻。最後還有幾個致命的trick,自己動手吧,wa看dicuss中的測試資料.include include...
具體數學 1
漢諾塔 漢諾塔 又稱河內塔 問題是源於印度乙個古老傳說的益智玩具。大梵天創造世界的時候做了三根金剛石柱子,在一根柱子上從下往上按照大小順序摞著64片 圓盤。大梵天命令婆羅門把圓盤從下面開始按大小順序重新擺放在另一根柱子上。並且規定,在小圓盤上不能放大圓盤,在三根柱子之間一次只能移動乙個圓盤。問 n ...
poj 1269 直線相交 平行
剛開始做這道題貌似很糾結的樣子,在糾結了更糾結的題目之後回來看這道題就是小case了 不過竟然把題目當成是判斷線段相交了。於是wa 自己弱弱的寫了乙個判斷平行的 其他直接用模板 include include include include include using namespace std d...