1. 程式人生 > >[遞推簡單dp]-hdu 2050 折線分割平面

[遞推簡單dp]-hdu 2050 折線分割平面

[遞推簡單dp]-hdu 2050 折線分割平面

標籤: ACM


題意:

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

input

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

解題思路:

**對n取任意值時,分割平面數= 交點數 + 頂點數 + 1
我們假設f(n-1)已知,又f(n)每一條拆線與另一條拆線交點為4,則新加第N條拆線交點數增加4*(n-1)
頂點數比f(n-1)多一個,故f(n)=f(n-1)+4*(n-1)+1**

AC程式碼:

#include<cstdio>
using namespace std;
int main()
{
    int n,tmp;
    scanf("%d",&n);
    while(n--)
    {
        scanf("%d",&tmp);
        printf("%d\n",2*tmp*tmp-tmp+1);
    }
    return 0;
}