分圓問題 乙個詭異的數列規律

2022-05-02 10:54:07 字數 1066 閱讀 7747

在圓上任取$n$個點,將每對點用直線連線起來,並規定任意三條線不能交於同一點,這些直線會將圓分割成多少份?

首先我們列出簡單情況來尋找規律:

看來這個數列的規律非常明顯:每增加乙個點,分割的份數都將乘2。然而,當點數增加到6個的時候,分割的份數不是我們預料的32,而是31。

為了找到這個數列的通項公式,我們使用尤拉示性數公式(euler』s characteristic formula)來進行推導:

$$v-e+f=2$$

這個公式的意思是,在任何聯通平面簡單圖中,頂點數減邊數加上面數等於2。

為了利用這個公式得到分割的份數(即為面數),我們需要先求出頂點和邊的數量。

首先求頂點數:圓內的每個交點都對應圓上的4個點交叉相連,因此圓內的交點共有$c_n^4$個,加上圓上的$n$個點,因此$v=n+c_n^4$。

再求邊數:圓內的那個交點的度數(度數是與點相連的邊的個數)為4,圓上的點都與除此之外的每個點相連,因此度數是$n-1$,所以總度數為$4*c_n^4+n*(n-1)$,由於每條邊對於總度數的貢獻為2,再加上連線圓上頂點的弦的數目,最後得邊的數量$e=2*c_n^4+c_n^2+n$。

將結果帶入尤拉公式,並考慮園外區域也算乙個面,則分割的份數為:

$$\begin

f-1 &= e-v+2-1 \\

&= (2*c_n^4+c_n^2+n)-(n+c_n^4)+1 \\

&= c_n^4+c_n^2+1

\end$$

由排列組合公式,上式可以繼續分解:

$$c_n^4+c_n^2+1 = c_^4+c_^3+c_^2+c_^1+c_^0$$

這也就解釋了當$n<6$時結果總是成2的冪。

loadrunner 乙個詭異問題

最近使用loadrunner壓測乙個專案的時候,發現tps波動巨大 且平均值較低。使用jmeter壓測則沒有這個問題。經過多方排查發現乙個讓人極度費解的原因 原指令碼 指令碼其他 web submit data aaa action 此處為密文鏈結 事務判斷邏輯等 tps圖如下 修改後的 指令碼其他...

乙個sqlite應用詭異的問題

今天從應用層面解決了乙個詭異的問題。某程式,在伺服器a上跑速度很快,幾乎能將cpu乙個核的資源佔滿。而在伺服器b上跑很慢,慢了將近10倍 而且cpu使用率很低。伺服器a和b都是同樣的系統,幾乎相同型號的伺服器。通過各種排查原因,未果。最後還是認為是程式的問題。最終問題發生原因鎖定在乙個sqlite庫...

python 乙個詭異問題的解決

檔案上傳中,需要驗證銀行卡號,於是寫正則如下 regex r d 然後上傳到伺服器,結果re.match regex,file field 為none。在notpad 中驗證正則能夠match,又在python命令列中試了一下 import re re.match r d 6228410770613...