hd水題 hdoj2050 折線分割平面

2021-06-23 01:14:03 字數 857 閱讀 8129

problem description

我們看到過很多直線分割平面的題目,今天的這個題目稍微有些變化,我們要求的是n條折線分割平面的最大數目。比如,一條折線可以將平面分成兩部分,兩條折線最多可以將平面分成7部分,具體如下所示。

輸入資料的第一行是乙個整數c,表示測試例項的個數,然後是c 行資料,每行包含乙個整數n(0output

對於每個測試例項,請輸出平面的最大分割數,每個例項的輸出佔一行。

sample input

2 1 2

sample output

2 7

分析: 首先分析直線分平面最多能分多少份:先寫出前幾項找出規律,f(1)=2;f(2)=4;f(3)=7;f(4)=11……可以發現:每一項都比前一項大n,即f[n]=f[n-1]+n;下面就求f[n]

f[n] -f[n-1]=n

f[n-1]-f[n-2]=n-1

f[n-2]-f[n-3]=n-2

f[2]-f[1]=2

令f[n]=f[n]-f[n-1],求f[n]的前n項和,即等號左邊全部相加,得f[n]-f[1]=n*(n+1)/2-1;又因為f[1]=2;所以f[n]=n*(n+1)/2+1;

同理,可將每個折線看成是兩條直線,所以f[n]=n*(2*n+1)+1; 但每一條折線比兩條直線分割的面的部分少2,所以n條折線比2n條直線分割平面形成的部分少2n,所以f(n)=2*n^2-n+1.

**如下:

#includeint main() return 0; }

HDOJ 2050 折線分割平面

我們看到過很多直線分割平面的題目,今天的這個題目稍微有些變化,我們要求的是n條折線分割平面的最大數目。比如,一條折線可以將平面分成兩部分,兩條折線最多可以將平面分成7部分,具體如下所示。輸入資料的第一行是乙個整數c,表示測試例項的個數,然後是c 行資料,每行包含乙個整數n 0 對於每個測試例項,請輸...

HDOJ 2050 折線分割平面(簡單遞推)

我們看到過很多直線分割平面的題目,今天的這個題目稍微有些變化,我們要求的是n條折線分割平面的最大數目。比如,一條折線可以將平面分成兩部分,兩條折線最多可以將平面分成7部分,具體如下所示。input 輸入資料的第一行是乙個整數c,表示測試例項的個數,然後是c 行資料,每行包含乙個整數n 0output...

hd 2050 折線分割平面

折線分割平面 time limit 1000msmemory limit 32768kb64bit io format i64d i64u submit status description 我們看到過很多直線分割平面的題目,今天的這個題目稍微有些變化,我們要求的是n條折線分割平面的最大數目。比如,...