時空限制 1000ms/128mb
我們看到過很多直線分割平面的題目,今天的這個題目稍微有些變化,我們要求的是n條折線分割平面的最大數目。比如,一條折線可以將平面分成兩部分,兩條折線最多可以將平面分成7部分,具體如下所示。
輸入資料的第一行是乙個整數n(0對於每個測試例項,請輸出平面的最大分割數,每個例項的輸出佔一行。
12
2根據直線分平面可知,由交點決定了射線和線段的條數,進而決定了新增的區域數。當n-1條折線時,區域數為f(n-1)。為了使增加的區域最多,則折線的兩邊的線段要和n-1條折線的邊,即2*(n-1)條線段相交。那麼新增的線段數為4*(n-1),射線數為2。但要注意的是,折線本身相鄰的兩線段只能增加乙個區域。7
故:f(n)=f(n-1)+4(n-1)+2-1 // 遞推公式
=f(n-1)+4(n-1)+1
=f(n-2)+4(n-2)+4(n-1)+2
……=f(1)+4+4*2+……+4(n-1)+(n-1)
=2n^2-n+1 // 遞推公式
#includeusing namespace std;
const int n = 10005;
int a[n];
int main()
HDU2050 折線分割平面
題目描述 problem description 我們看到過很多直線分割平面的題目,今天的這個題目稍微有些變化,我們要求的是n條折線分割平面的最大數目。比如,一條折線可以將平面分成兩部分,兩條折線最多可以將平面分成7部分,具體如下所示。輸入資料的第一行是乙個整數c,表示測試例項的個數,然後是c 行資...
hdu 2050 折線分割平面
歸納 1 n條直線最多分平面問題 題目大致如 n條直線,最多可以把平面分為多少個區域。析 可能你以前就見過這題目,這充其量是一道初中的思考題。但乙個型別的題目還是從簡單的入手,才容易發現規律。當有n 1條直線時,平面最多被分成了f n 1 個區域。則第n條直線要是切成的區域數最多,就必須與每條直線相...
hdu 2050 折線分割平面
problem description 我們看到過很多直線分割平面的題目,今天的這個題目稍微有些變化,我們要求的是n條折線分割平面的最大數目。比如,一條折線可以將平面分成兩部分,兩條折線最多可以將平面分成7部分,具體如下所示。輸入資料的第一行是乙個整數c,表示測試例項的個數,然後是c 行資料,每行包...